我无法在我的 CentOS 6.2 vps 上使 rsa 密钥对身份验证工作。我的理解是,如果 rsa 身份验证配置正确,则不会要求输入密码,但在我的例子中仍然需要输入密码。我在 Windows 机器上使用 PuTTY 作为我的 SSH 客户端。以下是我到目前为止所做的:
使用 PuTTYgen 创建 SSH-2 RSA 密钥
创建目录 ~/.ssh
将公钥复制到~/.ssh/authorized_keys,看起来没有返回:
rsa-ssh AAAAB3NzaC1yc2EAAAABJQAAAIEAm+xgm1hVU5u5CqPTwxg0/VnPMxjQKnCGjdyD
65yEDN55nf118u962ApFk73Wh9Hph1xXEsh2+I3Ak+//6kzGiR+vI6AvWtCQMbSg
HkKeeRkyvZ6fiqZyg3oxAklPpxTlcq+OWxxFthVfvZxmEW6EiT5Bz41zHTcvubsD
KxcvsAs= bizidge_one key
设置权限:
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
在 Pageant(PuTTY 身份验证代理)中加载我的私钥
当我第一次遇到问题时,我根据发行说明的“已知问题”部分尝试了以下操作:
restorecon -R -v ~/.ssh
我也尝试过重启 SSHD
非常感谢您的帮助。我是新手,已经卡了一段时间了。我怀疑这个问题对有经验的人来说是相当明显的。
答案1
哎呀。密钥“rsa-ssh”的开头应该是“ssh-rsa”。已修复。
答案2
我今天还发现一些托管服务提供商禁用了 sshd 选项来实现此功能。
我必须编辑 /etc/ssh/sshd_config,然后取消注释以下行:
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
然后我重新启动了 sshd:
service sshd restart
我还确认获取 .ssh 目录和 authorized_keys 文件的权限(如上所述)至关重要。