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

我正在尝试使用我自己的公钥设置一个新的 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/

相关文章:

ssh - docker run找不到名称标志参数

grails - 验证标准无法使用

bash - 在远程节点上的 ssh 命令中使用 SED

ssh - 如何找到在amazon-ec2中启动的实例的用户名?

git - 如何在GitBlit中禁用SSH并仅使用HTTP和HTTPS

php - 使用 PHP SSH 进入机器

grails - 三元算子的奇怪行为

php - 设备的 ioctl 不合适

ssh - ansible playbook公钥问题

email - grails异步邮件服务错误