ssh 無法免密碼登錄 解決方案


1、進入到.ssh目錄

ssh .ssh
  • 1

2、生成密鑰

ssh-keygen -t rsa
  • 1

輸入以上命令之后,只需要一直回車即可。

3、配置無密鑰登陸,拷貝公鑰到其他節點

ssh-copy-id hadoop-series.bxp.com
  • 1

其中hadoop-series.bxp.com是主機名,配置本機到hadoop-series.bxp.com的無密鑰登陸,也可以直接使用IP。

上面說的是怎樣生成密鑰並將公鑰發送到遠程主機。具體的細節以及無密鑰登陸的原理這里就不進行贅述,想了解的可以自行google或者度娘。

如果到這里您已經可以進行無密鑰登陸,就不必繼續往下看。

接下來要說的是 “有的主機只需要以上的操作即可以進行無密鑰訪問,有的主機卻仍然存在問題,仍然需要輸入密碼” 的解決辦法。

4、仍需要密碼登陸問題解決

如果A將公鑰拷貝到B,但是A登陸B仍然需要輸入密碼,此時應當修改B主機的配置文件。
(1)打開sshd_config配置文件

sudo vi /etc/ssh/sshd_config
  • 1

(2)修改配置如下

#禁用root賬戶登錄,如果是用root用戶登錄請開啟 PermitRootLogin yes # 是否讓 sshd 去檢查用戶家目錄或相關檔案的權限數據, # 這是為了擔心使用者將某些重要檔案的權限設錯,可能會導致一些問題所致。 # 例如使用者的 ~.ssh/ 權限設錯時,某些特殊情況下會不許用戶登入 StrictModes no # 是否允許用戶自行使用成對的密鑰系統進行登入行為,僅針對 version 2。 # 至於自制的公鑰數據就放置於用戶家目錄下的 .ssh/authorized_keys 內 RSAAuthentication yes PubkeyAuthentication yes AuthorizedKeysFile .ssh/authorized_keys # 有了證書登錄了,就禁用密碼登錄。 PasswordAuthentication no
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16

(3)重啟sshd服務

/bin/systemctl restart  sshd.service 或者 service sshd restart
  • 1
  • 2
  • 3

5、如果在拷貝公鑰過程中出現“Agent admitted failure to sign using the key”異常,執行如下命令

 ssh-add ~/.ssh/id_rsa
  • 1

到這里,問題應該就得到解決了。


免責聲明!

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



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