Linux

除root使用者外的所有使用者的SSH“伺服器拒絕我們的密鑰”

  • April 26, 2014

我按照本教程進行操作,密鑰身份驗證對 root 非常有用。但是當我創建使用者 xxx 並在 authorized_keys 添加不同的密鑰並嘗試使用 putty 登錄時,顯示錯誤“伺服器拒絕了我們的密鑰”。我將 .ssh/authorized_keys 更改為 /etc/ssh/keys/authorized_keys ,其中 chmod 700 用於密鑰,chomd 600 用於authorized_keys,因為我在網上找到了有關此問題的一些答案。我什至嘗試交換密鑰,但沒有任何效果!只有 root 可以使用密鑰登錄。

在authorized_keys 文件中:

ssh-rsa pub***key rsa-key-20140424

ssh-rsa pub***key rsa-key-20140426

在伺服器日誌中沒有顯示關於使用者 xxx 接受或拒絕的任何身份驗證。

膩子事件日誌

2014-04-26 13:28:02 Reading private key file "C:\mykey.ppk"

2014-04-26 13:28:04 Offered public key

2014-04-26 13:28:04 Server refused our key

伺服器作業系統:centos 6.5

聽起來您正在嘗試將使用者密鑰添加到根authorized_keys文件而不是使用者authorized_keys文件中。

只是為了澄清:

根鍵應該在/root/.ssh/authorized_keys

使用者密鑰應該在/home/USERNAME/.ssh/authorized_keys

可以按照您的建議將密鑰儲存在 /etc/ssh 中,但不能按照您的方式儲存。這通常在使用者主目錄被加密時完成。為了使其工作,您需要確保完成以下操作:

# mkdir /etc/ssh/USERNAME
# chmod 755 /etc/ssh/USERNAME
# chown USERNAME /etc/ssh/USERNAME
# touch /etc/ssh/USERNAME/authorized_keys
# chmod 644 /etc/ssh/USERNAME/authorized_keys
# chown USERNAME /etc/ssh/USERNAME/authorized_keys
# cat /home/USERNAME/.ssh/authorized_keys > /etc/ssh/USERNAME/authorized_keys
# echo "AuthorizedKeysFile /etc/ssh/%u/authorized_keys" >> /etc/ssh/sshd_config

注意:您可能想要實際編輯 /etc/ssh/sshd_config 而不是僅僅追加到末尾,因為您可能已經有一個AuthorizedKeysFile集合。

引用自:https://serverfault.com/questions/591476