[英]Allowing users to SSH into EC2 Linux Instance with key pairs
我创建了一个新的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 ....
要创建我在上一步中粘贴的公共密钥,我按照本参考中的步骤从“生成SSH密钥”开始
我从PuttyKeyGen复制了公共密钥,该公共密钥显示在标有“用于粘贴到OpenSSHauthorized_keys的公共密钥”框中的框中。 然后,将其粘贴到newuser
目录中EC2实例上的.ssh/authorized_keys
文件中。
我注销了EC2上的SSH客户端。 然后,我尝试使用Windows计算机上新创建的私钥用Putty登录。 我使用newuser
登录名。 我在Putty中收到此错误: server refused our key
。 还有一个对话框,显示已Disconnected: No supported authentication methods available {server sent: publickey)
我在这些步骤中做错了什么?
我做了两件事,现在可以了。 可能是使它起作用的位数。
我使用PuttyGen生成了一个新的密钥对,但是我指定了1024
位的SSH-2 RSA
,而不是PuttyGen放入的默认2048
。
当我使用SSH重新登录EC2时,我使用nano而不是vim粘贴了公钥。
始终使用ec2-import-keypair功能来验证对于EC2实例是否良好。 如果导入成功,那就很好了,否则,请重新生成合规性密钥对。 如果仅复制不符合要求的密钥对,则会遇到麻烦。
这是导入密钥对的文档
- OpenSSH公钥格式(格式为〜/ .ssh / authorized_keys)
- Base64编码的DER格式SSH公钥文件格式,如
不支持 RFC4716 DSA密钥。 确保将密钥生成器设置为创建RSA密钥。
支持的长度: 1024、2048和4096 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.