无法从一个AMI ec2实例连接到另一个

时间:2017-03-17 17:44:48

标签: linux amazon-web-services ssh amazon-ec2

我可以使用putty从我的Windows PC连接到我的AMI E2C linux实例,但是我不能从一个实例连接到另一个实例。我收到以下错误消息,我刚刚复制了错误消息的最后一部分:

debug1: Found key in /home/ec2-user/.ssh/known_hosts:3
debug1: ssh_ecdsa_verify: signature correct
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug1: SSH2_MSG_NEWKEYS received
debug1: SSH2_MSG_SERVICE_REQUEST sent
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: publickey
debug1: Next authentication method: publickey
debug1: Trying private key: /home/ec2-user/.ssh/id_rsa
debug1: Trying private key: /home/ec2-user/.ssh/id_dsa
debug1: Trying private key: /home/ec2-user/.ssh/id_ecdsa
debug1: Trying private key: /home/ec2-user/.ssh/id_ed25519
debug1: No more authentication methods to try.
Permission denied (publickey).

所有服务器的安全组都有SSH打开源0.0.0.0

我尝试过创建新的ssh密钥,ssh-keygen -t -rsa,并将.pub文件的内容复制并粘贴到另一台服务器上的/.ssh/authorized_keys文件中。但它仍然无效。

我已经尝试将两个文件的内容复制到另一个服务器到/.ssh保持相同的文件名并再次运行chmod 600两个文件。但它仍然不起作用。

2 个答案:

答案 0 :(得分:1)

我无法相信,我已经被困在这个问题上2天了。

仔细检查我在我想连接的服务器上创建的ID_RSA文件,我有一个副本并粘贴了来自其他服务器的公钥,但没有粘贴所有密钥。复制和粘贴功能错过了密钥的前几个字符。

一旦我把那些ssh连接工作了!

答案 1 :(得分:0)

可能是您使用非标准名称创建密钥。

这就是我在这种情况下的做法:

服务器#1:

$ ls -la ~/
...
drwx------ 2 ec2-user ec2-user 4096 Mar 16 00:27 .ssh
...

$ ls -l ~/.ssh
total 12
-rw------- 1 ec2-user ec2-user  731 Mar  3 16:05 authorized_keys
-rw-r--r-- 1 ec2-user ec2-user 2220 Mar 17 11:39 known_hosts
-rw------- 1 ec2-user ec2-user 3326 Mar  4 00:48 roman.pem

服务器#2:

$ ls -la ~/
...
drwx------ 2 ec2-user ec2-user 4096 Mar 17 12:10 .ssh
...

$ ls -l ~/.ssh
total 4
-rw------- 1 ec2-user ec2-user 731 Mar 17 12:10 authorized_keys

authorized_keys只有一条记录,与服务器#1的记录相同

这是我用于从服务器#1到服务器#2的连接的命令:

$ ssh -v <server#2-ip> -i ~/.ssh/roman.pem

如您所见,我使用-i指定密钥名称的完整路径。

<强>更新

此外,可以将自定义密钥添加到服务器#1上的ssh-agent:ssh-add ~/.ssh/roman.pem,以便跳过-i切换。