以其他用户身份登录 EC2 上的 Ubuntu 时出现“服务器拒绝我们的密钥”

以其他用户身份登录 EC2 上的 Ubuntu 时出现“服务器拒绝我们的密钥”

我们创建了一个运行 Ubuntu 10.04 的 AWS 微型实例,我们可以使用密钥对以“ubuntu”用户身份顺利登录。现在我创建了两个新用户,但当我尝试使用他们的用户名登录实例时,我收到“服务器拒绝我们的密钥”的消息。

发生了什么事?密钥对是否与 ubuntu 用户绑定?另外,我们是否必须为这些用户创建密钥对,或者他们可以使用密码登录?或者我们是否需要始终以“ubuntu”的身份登录,然后“su - myusername”?或者我只是错过了一些简单的东西?

答案1

是的,密钥对与 ubuntu 用户绑定。创建新用户后,您需要输入要使用的密钥$HOME/.ssh/authorized_keys。这有点复杂,因为您还需要确保 $HOME/.ssh 具有安全权限

chmod 0700 $HOME/.ssh

并且 authorized_keys 文件也具有安全权限

chmod 0600 $HOME/.ssh/authorized_keys

如果您只想使用相同的密钥,一个技巧就是将 ubuntu 用户的密钥文件复制到新用户。

sudo cp -arf /home/ubuntu/.ssh /home/myuser/.ssh
chown -R myuser.myuser /home/myuser/.ssh

如果您为这些新用户设置了密码(实际上不推荐... SSH 服务器的密码暴力攻击在互联网上猖獗)您也可以从客户端机器执行此操作:

ssh-copy-id user@host

它将为您处理所有权限。此外,如果您将密钥存储在 Launchpad.net 帐户中,您可以执行

ssh-import-id your-launchpad-user

它会从启动板中提取您的密钥(此命令在 11.04 及更高版本中重命名为 ssh-import-id)。

相关内容