AWS EC2 - 连接时为什么我的SSH公钥不存在?

cul*_*lix 1 ssh amazon-ec2 amazon-web-services

我正在尝试使用自己的公钥设置新的Amazon EC2实例,以便通过ssh连接.我已经使用所生成的RSA密钥对,ssh-keygen在AWS文档中描述,并使用Web界面上载的公钥亚马逊.密钥通常出现在我的AWS仪表板中.假设我的公钥指纹是 aa:aa:aa:aa:aa:aa:aa:aa:aa:aa:aa:aa:aa:aa:aa:aa.

我可以使用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-get-console-output' ,如本答案所示.但是,我的公钥不会出现在控制台输出中的任何位置.还有另外两个键:

>您的公钥已保存在/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 root @ ip-00-00-00-00(DSA)

如果我的密钥被部署到实例上,为什么不显示?

nra*_*aus 6

您看到的指纹是主机ID,而不是您的rsa/dsa密钥ID.因此不应该匹配.

您上载的公钥是服务器用于识别的密钥.它与服务器身份无关.如果您希望验证服务器是否可以使用该ec2-get-console-output命令,如您所述.

有关ssh密钥对的更多详细信息,请参阅Ask Ubuntu上的这个答案.