SSH配置免密登錄


【參考文章】:linux服務器ssh免密碼登錄

【參考文章】:ssh分發秘鑰時出現錯誤“Permission denied (publickey,gssapi-keyex,gssapi-with-mic)”

【參考文章】:ssh免密碼登錄Permission denied (publickey,gssapi-keyex,gssapi-with-mic) 的解決方案!

【參考文章】:ssh配置無密碼登錄

1. 生成服務器的公鑰和私鑰文件

  輸入命令:ssh-keygen -t rsa

  提示輸入點擊回車,直到文件生成;

  默認生成的文件在 ~/.ssh 目錄下;

  .ssh 文件夾為隱藏文件, ls  -a 即可顯示全部文件;

  

2. 將公鑰文件內容追加到authorized_keys 文件

  如果沒有 authorized_keys 文件,則手動創建;

  然后將 id_rsa.pub 文件內容復制到 authorized_keys 文件;

  cat id_rsa.pub >> authorized_keys ;

  注意 > 是講內容重寫到文件,>> 是將內容追加到文件;

   id_rsa.pub 文件的內容,其中帶有當前的用戶名,免密登錄時需要使用該用戶來登錄

  

 

3. 修改文件權限

  chmod 700 ~/.ssh

  chmod 644 ~/.ssh/authorized_keys  # 信任文件的權限,必須是644

  chmod 600 ~/.ssh/id_rsa     # 私鑰文件的權限

4. 修改 /etc/ssh/sshd_config 

  下面參數選項沒有則手動創建,有注釋則取消注釋,參數值不符合則修改;

  HostKey /etc/ssh/ssh_host_rsa_key

  RSAAuthentication yes

  PubkeyAuthentication yes

  AuthorizedKeysFile      .ssh/authorized_keys  #公鑰文件存儲位置

  UsePAM no  # CentOS 7.5 中需要修改為 yes

  下面參數選項根據自身需要進行修改;

  PasswordAuthentication yes     #允許密碼認證登錄(不要手賤設置為 no, 不然你就登不上服務器了)

  PermitRootLogin no      #允許root認證登錄

  重啟 SSH 服務

  systemctl restart sshd.service

5. 本地免密登錄

  ssh 用戶名@127.0.0.1

  

6. 遠程免密登錄

  A服務器下的.ssh 文件下保存了B服務器用戶userB的公鑰,則userB就可以在B服務器上免密登錄服務A了

  想要遠程免密登錄某個服務器,就把自己的 id_rsa.pub(公鑰文件) 追加到某個服務器的  .ssh/authorized_keys 文件中;

  ssh username@serverIP


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM