我创建了一个新的ebs支持的EC2实例和必要的密钥对。现在我能够以ubuntu用户身份连接到实例。一旦我这样做,我创建了另一个用户并将其添加到sudoers列表,但我无法以我创建的新用户身份连接到该实例。
我收到以下错误。我使用相同的密钥连接我创建的新用户。有人可以帮助我。我在这里错过了什么吗?
Permission denied (publickey)"
答案 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 - 在这种情况下的用户)。
答案 1 :(得分:0)
SSH对目录和文件权限非常挑剔。确保:
将您的公钥复制到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)
希德,我做了你提到的,但我仍然有同样的错误
第一种技术是通过密码登录。 ...
需要重新启动才能让它工作。 (以防万一其他人想要这种不安全的方法工作)公钥方法是使它与远程桌面应用程序一起工作的主要痛苦