如何使 RSA 密钥对在 CentOS 6 中工作

如何使 RSA 密钥对在 CentOS 6 中工作

我无法在我的 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 文件的权限(如上所述)至关重要。

相关内容