2013-12-17 59 views
1

我试图用我自己的公钥设置一个新的Amazon EC2实例,所以我可以通过SSH连接。我使用ssh-keygen作为described in the aws docs生成了RSA密钥对,并使用Web界面将公钥上传到亚马逊。密钥通常显示在我的AWS仪表板中。比方说我的公钥指纹是aa:aa:aa:aa:aa:aa:aa:aa:aa:aa:aa:aa:aa:aa:aa:aaAWS EC2 - 连接时为什么我的SSH公钥不存在?

我可以创建一个新实例并使用Web界面指定该公钥(是的,我在之前指定了这个,这是启动之前的最后一步)。该实例似乎已创建并正常启动。我的公钥在该实例的“密钥对名称”属性下列出。我使用的是Ubuntu 12.04 LTS OS,64位映像:ubuntu-precise-12.04-amd64-server-20131003。

然而,当我尝试通过ssh连接,我没有看到我的钥匙指纹:

>主机的真实性“ec2-00-00-00-00.us- west-2.compute.amazonaws.com(00.00.00.00)'无法建立。
> RSA密钥指纹是bb:bb:bb:bb:bb:bb:bb:bb:bb:bb:bb:bb:bb:bb:bb:bb。
>您确定要继续连接(是/否)吗?没有

(我连接时使用的实际IP地址)

我可以运行 'EC2-得到控制台输出' 使用ec2 command line tools,通过this answer的建议。但是,我的公共密钥不会出现在控制台输出中的任何位置。还有其他两个键:

>您的公钥已保存在/etc/ssh/ssh_host_rsa_key.pub中。密钥指纹为:
> bb:bb:bb:bb:bb:bb:bb:bb:bb:bb:bb:bb:bb:bb:bb:bb root @ ip-00-00- 00-00
> ...
> -----开始SSH主机键指纹-----
> ec2:1024 cc:cc:cc:cc:cc:cc:cc:cc:cc :CC:CC:CC:CC:CC:CC:CC根@ IP-00-00-00-00(DSA)

如果我的钥匙被部署到该实例,为什么没有出现?

+0

你正在使用什么图像?您所描述的内容听起来像是一个bug,您的密钥应该是'ssh_host_rsa_key'中唯一的密钥 – nrathaus

+0

您可以使用AWS控制台中的“连接”按钮登录到此实例,该控制台使用java applet –

+0

您是否尝试回答“是“而不是”不?“在bb:bb ...中显示的值不是关于您的密钥,而是关于主机本身的身份。 –

回答

5

您看到的指纹是主机ID,不是您的rsa/dsa密钥ID。所以不应该有一个匹配。

您上传的公钥是服务器用来识别的密钥。它与服务器标识无关。如果你想验证服务器,如果你可以use the ec2-get-console-output command,如你所说。

有关ssh密钥对的更多详细信息,请参阅this answer on Ask Ubuntu

+0

Gah。谢谢,你是对的。我不知道为什么我在这个间隔。 – culix

+0

我编辑了我的问题以删除我们不需要的详细信息,并添加了一些指向您答案的链接。让这件事尴尬,但希望它能帮助别人,他们不会像我一样浪费时间。再次感谢! – culix