我遵循这个教程 ,密钥authentication对root很好。 但是当我创build用户xxx,并在authorized_keys中添加不同的密钥,并试图使用腻子login,其中显示错误“服务器拒绝我们的密钥”。 我改变了.ssh / authorized_keys到/ etc / ssh / keys / authorized_keys与chmod 700的键和chomd 600 for authorized_keys,因为我发现这个问题的networking上的一些答案。 我甚至试图交换键没有任何工作! 只有root可以使用密钥login。
在authorized_keys文件中:
ssh-rsa pub***key rsa-key-20140424 ssh-rsa pub***key rsa-key-20140426
在服务器日志中没有显示有关用户xxx接受或拒绝的任何身份validation。
腻子事件日志
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
可以按照您的build议将密钥存储在/ etc / ssh中,但不能像您这样做。 这通常在用户主目录被encryption时完成。 为了这个工作,你需要确保完成以下工作:
# 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
集。