ssh免密登錄不生效的原因總結

生成公鑰

ssh-keygen -t rsa -P '' (注:最後是二個單引號,表示不設置密碼)

然後分發公鑰到目標機器

ssh-copy-id -i ~/.ssh/id_rsa.pub 用戶名@對方機器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

 

3.系統中有多個認證密鑰文件

多個認證密鑰文件,我們可以使用參數 -i 來指定需要傳輸至目標機的公鑰文件,如:
$ ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected]

192.168.246.170系統中兩個認證密鑰文件,路徑如下:

/home/jianzhihua/.ssh/id_rsa.pub
/data/jianzhihua/.ssh/id_rsa.pub

在192.168.246.170執行:

$ ssh-copy-id -i  /data/jianzhihua/.ssh/id_rsa.pub [email protected]

從192.168.246.170登錄到192.168.246.171,終端執行:

$ ssh [email protected]
Enter passphrase for key '/home/jianzhihua/.ssh/id_rsa.pub': ##系統提示輸入私鑰,可不論輸與不輸都不能直接登錄

處理方法:

在192.168.246.170終端執行:
$ eval $(ssh-agent) 
$ ssh-add 
Identity added: /data/jianzhihua/.ssh/id_rsa (/data/jianzhihua/.ssh/id_rsa)
因爲:
$ grep jianzhihua /etc/passwd
jianzhihua:x:1039:1039::/data/jianzhihua:/bin/bash
當然你也可以使用/home/jianzhihua/.ssh/id_rsa.pub,在192.168.246.170終端操作如下:
$ ssh-add -k /home/jianzhihua/.ssh/id_rsa
Identity added: /home/jianzhihua/.ssh/id_rsa (/home/jianzhihua/.ssh/id_rsa)
登錄時:
$ ssh -i /home/jianzhihua/.ssh/id_rsa [email protected]

 

 
發佈了28 篇原創文章 · 獲贊 20 · 訪問量 7萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章