【问题标题】:ssh: Identical rsa key generation steps work for one user, but no anotherssh:相同的 rsa 密钥生成步骤适用于一个用户,但不适用于另一个用户
【发布时间】:2015-11-10 20:03:40
【问题描述】:

我刚刚生成了 rsa 密钥,以便运行 cygwin 的 Windows 10 笔记本电脑无需密码即可登录 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 已正确更新

【问题讨论】:

  • 调试时需要包含的内容:来自运行ssh -vvv -i ~/.ssh/user_b_dsa UserB@my-server.com 的日志以及来自服务器端的 sshd 的相关日志片段。没有它,我们只能推测。不需要的一件事(可能是原因)是对您的authorized_keys 的限制太多 - sshd 需要访问它。 ~/.ssh 上应该是 0755,~/.ssh/authorized_keys 上应该是 0644。只有你的私钥需要 0600 权限。

标签: git ssh rsa dsa


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-11-22
    • 1970-01-01
    • 2019-04-13
    • 1970-01-01
    • 2020-04-20
    • 1970-01-01
    • 2016-02-25
    • 1970-01-01
    相关资源
    最近更新 更多