因此,我获得了一个公钥,并被要求设置 ssh 密钥身份验证,并向我的服务器添加一个可以使用此公钥登录服务器的用户。我创建了另一个用户(例如 userTest)来测试我的实现是否正确。
问题是,一旦我连接到我的 root 帐户(通过密码,尽管我可能也应该使用 ssh-key 身份验证),然后输入 ssh userTest@ip_address,我就可以无需密码连接。但是,当输入 ssh root@ip_address 以返回 root 帐户时,需要输入密码。
但是,让我感到困惑的是,userTest 公钥没有显示在 authorized_keys 中,但可以连接,而出现在那里的 root 公钥如果没有密码则无法连接。(但是,从 userTest 帐户启动 Putty 时需要密码)。
我看过很多教程,也修改了我的 sshd_config 文件,但我显然做错了什么,因为没有密码我就无法连接。
所以我该怎么做?
其中紫色标记是 userTest
答案1
事实证明我应该:
- 例如通过 PuttyGen 为 root 创建 ssh 密钥链接1
- 添加用户 USER1
- 例如通过 PuttyGen 为 USER1 创建密钥
- 在 /home/ 中添加 USER1 的公钥用户1/.ssh/authorized_keys
- 如果你有私钥,请将其添加到 Putty链接2
- 确保 (在根目录中)您已正确调整了 /etc/ssh/sshd_config 文件(PermitRootLogin、允许用户、PublicKeyAuthentication、passwordAuthentication 以及上面链接中提到的其他内容等),然后运行
service sshd restart
以使更改生效。 - 享受!