AWS :: Ubuntu实例始终拒绝我的私钥

对不起,再次问这个问题,因为我知道它被问了一个废话负载的时代…我已经通过了一堆以前的post,但没有运气。 已经尝试了一切…

脚步:
1.)启动实例
2.)更新安全组以允许我的IP地址在端口22上的ssh连接
3.)创build新的KeyPair – 保存.pem文件
4.)使用puttygen将其转换为PPK:加载 – >保存私钥
5.)尝试putty连接到ubuntu @ myInstancePublicDNS使用我保存的.ppk作为身份validation密钥(在SSH-> Auth下载入)

我曾经在朋友家重复过一次完全相同的步骤,并且工作。 我没有什么不同 我无法想象它与位置有任何关系,因为我也将IP添加到安全组,并且我得到的消息是被拒绝的密钥。

我已经尝试使用cygwin和open-ssh连接下载的.pem私钥 – 我曾尝试设置chmod 600在我的pk上,我试图从known_hosts文件中删除ec2实例,并再次尝试,我已经尝试使用ssh – 我-v ubuntu @ myInstancePublicDNS得到一些额外的输出debugging,我已经尝试使用user = ec2用户或根,我已经尝试上传一个公钥生成的密钥/对我用腻子,我已经试过终止实例并启动一个新的…但每一次,没有失败,我得到以下几点:

  OpenSSH_6.8p1,OpenSSL 1.0.2d 2015年7月9日
 debug1:连接到XX.XX.XXX.XX [XX.XX.XXX.XX]端口22。
 debug1:build立连接。
 debug1:key_load_public:没有这样的文件或目录
 debug1:身份文件.ss​​h / test.pemtypes-1
 debug1:key_load_public:没有这样的文件或目录
 debug1:身份文件.ss​​h / test.pem-certtypes-1
 debug1:启用协议2.0的兼容模式
 debug1:本地版本stringSSH-2.0-OpenSSH_6.8
 debug1:远程协议版本2.0,远程软件版本OpenSSH_6.2
 debug1:match:OpenSSH_6.2 pat OpenSSH * compat 0x04000000
 debug1:发送SSH2_MSG_KEXINIT
debugging1:收到SSH2_MSG_KEXINIT
 debug1:kex:server-> client aes128-ctr [email protected] none
 debug1:kex:client-> server aes128-ctr [email protected] none
 debug1:发送SSH2_MSG_KEX_ECDH_INIT
 debug1:期待SSH2_MSG_KEX_ECDH_REPLY
 debug1:服务器主机密钥:ecdsa-sha2-nistp256 SHA256:SUYkrQtUYkQ4Fl2Dh5K / 4kc / b0kYliZGrdFdXeHxLtk
 debug1:主机'XX.XX.XXX.XX'是已知的并且与ECDSA主机密钥匹配。
 debug1:find/home/MY_USERNAME/.ssh/known_hosts:2中的密钥
 debug1:发送了SSH2_MSG_NEWKEYS
 debug1:期待SSH2_MSG_NEWKEYS
 debug1:收到SSH2_MSG_NEWKEYS
 debug1:服务器不允许漫游
debugging1:发送了SSH2_MSG_SERVICE_REQUEST
 debug1:收到SSH2_MSG_SERVICE_ACCEPT
 debug1:可以继续的身份validation:publickey
 debug1:下一个validation方法:publickey
 debug1:尝试私钥:.ssh / test.pem
 debug1:可以继续的身份validation:publickey
 debug1:没有更多的身份validation方法来尝试。
权限被拒绝(publickey)。 

我在我的智慧结束,希望别人经历了类似的东西!

谢谢..

1.)启动实例2.)更新安全组,允许从我的IP地址的端口22上的ssh连接3.)创build新的KeyPair – 保存.pem文件

您有错误的顺序这些步骤。 创build实例时需要指定密钥对,以便公钥正确部署。

您可能已经在AWS中创build了一个密钥对(并且已经下载了私钥),因此您只需在EC2实例启动向导中指定密钥对,就可以连接了。