我正在尝试使用自己的公钥设置新的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)
如果我的密钥被部署到实例上,为什么不显示?
您看到的指纹是主机ID,而不是您的rsa/dsa密钥ID.因此不应该匹配.
您上载的公钥是服务器用于识别您的密钥.它与服务器身份无关.如果您希望验证服务器是否可以使用该ec2-get-console-output
命令,如您所述.
有关ssh密钥对的更多详细信息,请参阅Ask Ubuntu上的这个答案.