除root用户以外的所有用户的SSH“服务器拒绝我们的密钥”

我遵循这个教程 ,密钥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集。