Man*_*ndM 5 ssh putty amazon-web-services ubuntu amazon-ec2
似乎以前有人问过类似的问题,但我所遇到的问题并未作为其他问题的答案的一部分提出或回答。所以...
我正在使用运行 Ubuntu 的 Amazon EC2 实例,并且我已经想出了如何通过 PuTTY 使用“ubuntu”登录获得 SSH 访问权限。我想我可以简单地做一些 useradds,并在其他用户的每个主文件夹中,添加“.ssh/authorized_keys”,因为它在“ubuntu”主文件夹中,然后使用其他用户名通过 SSH(但是相同的私钥)会顺利运行 - 这没有发生(我收到“服务器拒绝了我们的密钥”消息)。
关于 SSH 密钥配对的工作原理,似乎有些我不知道的东西……有什么想法吗?
快速总结:
更新:我编辑了文件“/etc/ssh/sshd_config”以取消注释该行:
AuthorizedKeysFile %h/.ssh/authorized_keys
(我没有意识到默认情况下是评论的),但仍然没有运气。只是想如果这是一个建议我会提到它...
UPDATE2-IMPORTANT:感谢 Nikolay 的回答,我意识到我忽略了文件的权限。虽然权限不是问题(我认为),但事实证明,当我使用sudo将 '.ssh/authorized_keys' 复制到其他添加的用户文件夹时,新创建的文件夹和文件的所有者实际上是root。现在的问题似乎是 - 如何更改文件夹/文件的所有者(作为非 root 用户很可能无法检查root拥有的密钥)?我会搜索一下,看看是否有答案...
UPDATE3-重要提示:我已将 '.ssh' 和 'authorized_keys' 以及所有者和组的权限从root更改为otheruser,但是在尝试 SSH时使用用户名otheruser时,我仍然收到“服务器拒绝我们的钥匙”消息。抱歉,我过早地添加了已回答的部分……从逻辑上讲,所提供的答案似乎(并且仍然似乎)是正确答案,所以我说在我测试之前就已经回答了……
UPDATE4-IMPORTANT:Nickolay 的回答确实是正确的(我说过不在 UPDATE3 中)。我的问题(在我遵循 Nickolay 的回答之后)实际上与任何 SSH 警告无关。当我创建otheruser帐户时,我不小心将 shell 指定为/bin/bash/而不是/bin/bash(注意额外的/)。我之所以遇到这个问题,是因为我所做的所有工作都来自“ubuntu”帐户,在感到沮丧之后,我尝试在使用 ubuntu SSH 登录后登录其他用户 - 返回错误“无法执行 /bin/bash/: Not a目录”。使用 更改 shell 后chsh -s /bin/bash otheruser,我能够从 ubuntu 登录到其他用户,但更有趣的是,这允许我使用其他用户作为用户进行 SSH 连接,而不会收到“. 所以......无法实例化一个shell以使用某种方式作为拒绝的关键消息返回。有什么地方我应该提请注意这个......?无论如何,再次感谢尼古拉。
回答:Nickolay 的回答涵盖了在这种情况下需要做的事情,包括使用chown命令更改文件夹/文件的所有权,如在他的回答下提供的链接所述。(我也使用了该chgrp命令,因为该组也是 root)
以下是我使用的步骤(您可能需要在这些命令前加上sudo):
注意:最后两个命令用于更改“.ssh/”文件夹和“authorized_keys”文件关联的组。您可能希望它们是其他东西,但我想让它们与该用户主文件夹中的其他文件/文件夹保持一致。
小智 1
您还应该为 .ssh 文件夹和authorized_keys 设置正确的权限: chmod 700 ~/.ssh && chmod 600 ~/.ssh/authorized_keys 此外,这些文件的所有者应该与尝试登录的用户相同。
| 归档时间: |
|
| 查看次数: |
4616 次 |
| 最近记录: |