先複習一下設定ssh免密碼操作的步驟:
進入主目錄
cd
生成公鑰
ssh-keygen -t rsa -P '' (注:最後是二個單引号,表示不設定密碼)
然後分發公鑰到目标機器
ssh-copy-id -i ~/.ssh/id_rsa.pub 使用者名@對方機器IP (注意不要忘記了參數-i)
注:ssh-copy-id -i 是最簡單的辦法,如果不用這個,就得分二個步驟:
a) 先scp 将本機的id_rsa.pub複制到對方機器的.ssh目錄下
b) 在對方機器上執行 cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys 導入公鑰
上面的操作完成後,就可以用 ssh 對方機器IP 來測試了,順利的話,應該不會提示輸入密碼。
如果失敗,有可能是以下原因:
1、權限問題
.ssh目錄,以及/home/目前使用者 需要700權限,參考以下操作調整
sudo chmod 700 ~/.ssh
sudo chmod 700 /home/目前使用者
.ssh目錄下的authorized_keys檔案需要600或644權限,參考以下操作調整
sudo chmod 600 ~/.ssh/authorized_keys
2、StrictModes問題
編輯
sudo vi /etc/ssh/sshd_config
找到
#StrictModes yes
改成
StrictModes no
如果還不行,可以用ssh -vvv 目标機器ip 檢視詳情,根據輸出内容具體問題具體分析了
作者:菩提樹下的楊過