我创建了一个新的EC2 Amazon Linux实例。我希望允许开发人员通过SSH连接到EC2实例。为了测试这一点,我在我的windows电脑上尝试了一下。我已经按照下面的链接中的说明进行了操作,但是我无法使用我生成的密钥对来连接SSH (Putty)。
在使用FireSSH和由AWS生成的pem以ec2-user身份登录EC2之后,我使用SSH运行以下命令来创建一个新用户、.ssh目录和权限。
[ec2-user ~]$ sudo adduser newuser
[ec2-user ~]$ sudo su - newuser
[newuser ~]$ mkdir .ssh
[newuser ~]$ touch .ssh/authorized_keys
[newuser ~]$ chmod 600 .ssh/authorized_keys
[newuser ~]$ vim .ssh/authorized_keys
然后,我使用vim
将公钥粘贴到authorized_keys
中。我将在下一步中解释我在哪里获得公钥。
ssh-rsaAAAAB3NzaC1yc2EAAAADAQABAAABAQClKsfkNkuS ....
为了创建我在上一步中粘贴的公钥,我遵循了本参考中从"Generating an SSH Key"开始的步骤
我从PuttyKeyGen复制了公钥,它显示在标签为"Public key for pasting for authorized_keys“的框中。然后我将其粘贴到我的EC2实例上的newuser
目录下的.ssh/authorized_keys
文件中。
我从EC2上的SSH客户端注销。然后,我尝试使用windows机器上新创建的私钥登录Putty。我使用newuser
登录名。我在Putty中得到这个错误:server refused our key
。还有一个对话框,上面显示Disconnected: No supported authentication methods available {server sent: publickey)
在这些步骤中,我做错了什么?
发布于 2015-01-16 18:30:38
我做了两件不同的事情,现在它起作用了。这可能是使其工作的位数。
我使用PuttyGen生成了一个新的密钥对,但我使用1024
位指定了SSH-2 RSA
,而不是PuttyGen放入的默认值,这类似于2048
。
当我使用SSH重新登录到EC2时,我使用nano而不是vim粘贴了公钥。
发布于 2016-05-03 16:46:45
请始终使用ec2-import-keypair功能来验证其是否适合EC2实例。如果导入工作正常,那么它就是好的,否则,重新生成一个符合要求的密钥对。如果你只是简单地复制一个不符合的密钥对,你会遇到麻烦。
以下是import key pair的文档
~/.ssh/authorized_keys)
keys.
https://stackoverflow.com/questions/27977950
复制