ssh:相同的 rsa 密钥生成步骤适用于一个用户,但不适用于另一个用户

ssh: Identical rsa key generation steps work for one user, but no another

我刚刚完成了生成 rsa 密钥的过程,因此 windows 10 笔记本电脑 运行 cygwin 可以在没有密码的情况下登录 CentOS 机器。它工作正常。然而,相同的过程不适用于为另一个远程用户设置无密码登录。我仍然被要求输入密码。

第一个远程用户的步骤如下

在 Windows10 客户端 (Cygwin) 上:

ssh-keygen -t dsa 
chmod 600 /home/John/.ssh/id_dsa 
scp /home/John/.ssh/id_dsa.pub UserA@my-server.com:

在 CentOS 服务器上(以 UserA 身份登录,来自 /home/UserA/ 目录):

cat id_dsa.pub >> .ssh/authorized_keys 
chmod 700 .ssh
chmod 600 .ssh/authorized_keys

这些步骤工作正常,但出于某种原因,不同远程用户的相同步骤没有。 ssh UserB@my_server.com 在执行

后仍然要求输入密码

另一个远程用户的相同步骤:

在 Windows10 客户端 (Cygwin) 上:

ssh-keygen -t dsa 
chmod 600 /home/John/.ssh/user_b_dsa 
scp /home/John/.ssh/user_b_dsa.pub UserB@my-server.com:

在 CentOS 服务器上(以 UserB 身份登录,来自 /home/UserB/ 目录):

cat user_b_dsa.pub >> .ssh/authorized_keys 
chmod 700 .ssh
chmod 600 .ssh/authorized_keys

知道为什么相同的步骤会导致这样不同的结果吗?我验证了 chmod 命令有效并验证 authorized_key 已正确更新

所以解决方案似乎是将 /home/UserB 文件夹权限设置为 770,并且需要设置为 700。此外,就像我最初尝试的那样,您不需要不同的 id_dsa 键给其他用户。只需将原始 id_dsa.pub 复制到 /home/UserB 文件并继续执行相同的步骤即可。如果您确实尝试使用不同的 dsa 文件,除非您明确告诉 ssh 将它与 ssh -i /home/user/.ssh/my_dsa user@server.com 一起使用,否则它也不会工作消息告诉您问题是什么。您必须碰巧神奇地知道某个地方存在 ssh 日志才能深入了解该问题..