我正在尝试使用我自己的公钥设置一个新的 Amazon EC2 实例,以便我可以通过 ssh 进行连接。我使用 ssh-keygen
生成了一个 RSA key 对作为described in the aws docs , 并使用网络界面将公钥上传到亚马逊。 key 正常显示在我的 AWS 仪表板中。假设我的公钥指纹是 aa:aa:aa:aa:aa:aa:aa:aa:aa:aa:aa:aa:aa:aa:aa:aa
.
我可以创建一个新实例并使用 Web 界面指定此公钥(是的,我在启动机器之前指定此公钥 - 这是启动前的最后一步)。该实例似乎已创建并正常启动。我的公钥列在该实例的“ key 对名称”属性下。我使用的是 Ubuntu 12.04 LTS 操作系统,64 位镜像:ubuntu-precise-12.04-amd64-server-20131003。
但是,当我尝试通过 ssh 连接时,我没有看到我的 key 的指纹:
>The authenticity of host 'ec2-00-00-00-00.us-west-2.compute.amazonaws.com (00.00.00.00)' can't be established.
>RSA key fingerprint is bb:bb:bb:bb:bb:bb:bb:bb:bb:bb:bb:bb:bb:bb:bb:bb.
>Are you sure you want to continue connecting (yes/no)? no
(我连接时使用的是实际IP地址)
我可以使用 ec2 command line tools 运行“ec2-get-console-output” , 正如 this answer 所建议的那样.但是,我的公钥没有出现在控制台输出中的任何地方。还有另外两个键:
>Your public key has been saved in /etc/ssh/ssh_host_rsa_key.pub.
>The key fingerprint is:
>bb:bb:bb:bb:bb:bb:bb:bb:bb:bb:bb:bb:bb:bb:bb:bb root@ip-00-00-00-00
>...
>-----BEGIN SSH HOST KEY FINGERPRINTS-----
>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)
如果我的 key 正在部署到实例上,为什么它不显示?
最佳答案
您看到的指纹是主机 ID,不是您的 rsa/dsa key ID。因此不应该有匹配项。
您上传的公钥是服务器用来识别您的 key 。它与服务器身份无关。如果你想验证服务器,你可以use the ec2-get-console-output
command ,正如您提到的。
有关 ssh key 对的更多详细信息,请参阅 this answer on Ask Ubuntu .
关于amazon-web-services - AWS EC2 - 为什么连接时我的 SSH 公钥不存在?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20626865/