從一臺Linux主機登錄另一臺Linux主機時,提示:
#ssh 192.168.0.68
Received disconnect from 192.168.0.68: 2: Too many authentication failures for cheng
看192.168.0.68的/var/log/secure日誌時,提示公鑰失敗。
Jan 19 11:17:34 web sshd[30724]: Failed publickey for root from 192.168.0.239 port 49210 ssh2
可是明明我們用的是用戶名驗證啊!怎麼會用公鑰驗證呢?不科學啊!!
解決方法:
親,你這臺主機肯定有.ssh目錄,而且有一個id_rsa與id_rsa/pub文件。把它刪除了吧。就好了。
rm -rf id_rsa*
這種情況只有在雙方主機對生成過公鑰的時候纔會出現。
估計是遠程主機認爲要登錄的主機也有公鑰文件,但是這個公鑰文件不在對方的authorized_keys中,所以它以爲是不信任的主機,拒絕登錄 ,公鑰失敗。想用密碼登錄的時候,它也認爲要用公鑰登錄。所以,另一種解決方法時,把要登錄的主機公鑰加入遠程主機信任即可。