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

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

我跟着本教程密钥认证对 root 来说非常有效。但是当我创建用户 xxx 并在 authorized_keys 中添加不同的密钥并尝试使用 putty 登录时,显示错误“服务器拒绝我们的密钥”。我将 .ssh/authorized_keys 更改为 /etc/ssh/keys/authorized_keys,将密钥的 chmod 设置为 700,将 authorized_keys 的 chomd 设置为 600,因为我在网上找到了一些关于此问题的答案。我甚至尝试交换密钥,但毫无效果!只有 root 可以使用密钥登录。

在authorized_keys文件中:

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

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

在服务器日志中没有显示有关用户 xxx 的任何身份验证被接受或拒绝的信息。

Putty 事件日志

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

答案1

听起来您正在尝试将用户密钥添加到 rootauthorized_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组了。

相关内容