2010-03-02 80 views
4

我设置了一个ec2实例。在安全组中,我为0.0.0.0/0打开了SSH'tcp'port 80(全部打开用于测试目的)。我将该实例与私钥相关联。我下载密钥并在ssh-ing时传递它,但是RSA没有进行身份验证。有任何想法吗?EC2 SSH问题验证

ssh -i mykey.pem [email protected] 

The authenticity of host 'mydns.amazonaws.com(IP)' can't be established. 
RSA key finger print is FINGERPRINT 
Are you sure you want to continue connecting (yes/no)? 

谢谢您提前!

+0

继续过去“你确定要继续连接吗?”后,输出是什么?连接调试信息时,尝试使用ssh -vvv。 – Lytol 2010-03-02 04:23:10

+0

顺便说一下,SSH的TCP端口是22不是80. – Vlad 2010-03-04 14:06:06

回答

5

这很正常。您的SSH抱怨未知的主机密钥。它在第一次连接到新主机时总是会发生。只需回答是,连接并重试。 它不应该第二次抱怨。

您下载的私钥不是用于整个主机的“root”帐户。

+0

除非在'ssh_config'中给出'-o StrictHostKeyChecking = no'或相同。 – ephemient 2010-03-02 04:50:54

+4

这不是安全的做法,尤其是EC2。 – 2010-03-03 06:37:26

+0

嗨,我点击“是”,然后它说公钥被拒绝 – user1372829 2013-06-20 06:21:54

5

安全配置的EC2实例将在您尝试通过SSH连接之前通过SSL访问console output中的服务器SSH密钥指纹。然后,当您通过SSH连接时,您需要确保指纹与控制台匹配。您需要必须这样做才能够安全连接到公共EC2实例。

公共EC2实例在每次启动时生成新的服务器SSH密钥。这意味着除非你按照上面所描述的方式进行操作,否则你将面临很多未知的主机密钥警告,并且如果你忽略了这个警告,你将会把安全性抛出门外;你永远不知道你将连接到哪里。

+0

这很容易在“实例设置>>获取系统日志”中找到。它几乎在日志的最后。只要查找匹配的序列即可。 – 2015-11-10 12:58:58