(轉)Putty server refused our key的三種原因和解決方法


原文

上一篇博文介紹了使用Putty免密碼登錄,我后面試了另一台虛擬機,結果putty顯示錯誤server refused our key(在linux下則表現為仍需要輸入密碼),搜索了下,很多人都遇到這個問題,大致有三種原因:

1、.ssh文件夾權限錯

.ssh 以及其父文件夾(root為/root,普通用戶為Home目錄)都應該設置為只有該用戶可寫(比如700)。

以下為原因:

ssh服務器的key方式登錄對權限要求嚴格。對於客戶端: 私鑰必須為600權限或者更嚴格權限(400), 一旦其他用戶可讀, 私鑰就不起作用(如640), 表現為系統認為不存在私鑰
對於服務器端: 要求必須公鑰其他用戶不可寫, 一旦其他用戶可寫(如660), 就無法用key登錄, 表現為:Permission denied (publickey).
同時要求.ssh目錄其他用戶不可寫,一旦其他用戶可寫(如770), 就無法使用key登錄, 表現為:Permission denied (publickey).

 

2、SElinux導致

密鑰文件不能通過SElinux認證,解決方法如下:

1
# restorecon -R -v /home #root用戶為/root

我遇到的就是這種情況,找了好久還找到是這個原因,因為是新裝的虛擬機,SElinux還沒關閉。

這篇博文詳細得說明了原因:http://www.toxingwang.com/linux-unix/linux-basic/846.html

 

3、sshd配置不正確

正確配置方法如下:

/etc/ssh/sshd_config 1、找到 #StrictModes yes 改成 StrictModes no (去掉注釋后改成 no) 2、找到 #PubkeyAuthentication yes 改成 PubkeyAuthentication yes (去掉注釋) 3、找到 #AuthorizedKeysFile .ssh/authorized_keys 改成 AuthorizedKeysFile .ssh/authorized_keys (去掉注釋) 4、保存 5、/etc/rc.d/init.d/sshd reload 重新加載


免責聲明!

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



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