可以作为ubuntu用户连接到EC2,但不能像我创建的用户那样连接

时间:2010-06-14 08:35:22

标签: ssh amazon-ec2

我创建了一个新的ebs支持的EC2实例和必要的密钥对。现在我能够以ubuntu用户身份连接到实例。一旦我这样做,我创建了另一个用户并将其添加到sudoers列表,但我无法以我创建的新用户身份连接到该实例。

我收到以下错误。我使用相同的密钥连接我创建的新用户。有人可以帮助我。我在这里错过了什么吗?

Permission denied (publickey)"

3 个答案:

答案 0 :(得分:10)

好吧,我想我想通了。

第一种技术是通过密码登录。想法是以ubuntu用户或root用户身份登录并转至/ etc / ssh / sshd_config文件并将PasswordAuthentication转为yes并运行 /etc/init.d/ssh reload

如果您现在尝试连接,则ec2允许您使用创建的用户的密码进行记录。虽然这不太安全。

其次,您创建一个密钥对并复制id-rsa.pub文件并将其移至/home/new-user/.ssh/authorized_keys文件,并将权限更改为600并分配给相应的用户(new - 在这种情况下的用户)。

我发现这非常有用 http://blog.taggesell.de/index.php?/archives/73-Managing-Amazon-EC2-SSH-login-and-protecting-your-instances.html

答案 1 :(得分:0)

SSH对目录和文件权限非常挑剔。确保:

  1. 目录/home/username/.ssh拥有权限“700”并且由用户拥有(不是root!)
  2. / home / username / ssh / authorized_keys具有权限“600”并由用户拥有
  3. 将您的公钥复制到authorized_keys文件中。

    sudo chown -R username:username /home/username/.ssh
    sudo chmod 0700 /home/username/.ssh
    sudo chmod 0600 /home/username/.ssh/authorized_keys
    

    您可以以root用户身份执行所有操作。暂时不需要在/ etc / ssh / ssh_config中允许密码。

答案 2 :(得分:0)

希德,我做了你提到的,但我仍然有同样的错误

  

第一种技术是通过密码登录。 ...

需要重新启动才能让它工作。 (以防万一其他人想要这种不安全的方法工作)公钥方法是使它与远程桌面应用程序一起工作的主要痛苦