EC2 服务器上的 RSA 指纹与本地生成的指纹不匹配

EC2 服务器上的 RSA 指纹与本地生成的指纹不匹配

我有一个具有弹性 IP 的 EC2 实例,它在一段时间内没有改变,也没有在实例化后用于 ssh 进入服务器的主用户帐户中安装 Amazon 的 ssh 密钥。

我最近决定我应该学习如何检查我的 RSA 指纹。因此,我清除了known_hosts本地计算机上的文件。

Amazon 为您提供了一个*.pem文件,可用作新 EC2 实例上的私钥。因此,我使用以下命令在本地生成密钥的公钥部分:

ssh-keygen -yf my-key.pem > my-key.pub

然后,我使用以下命令获取该密钥的指纹:

ssh-keygen -lf my-key.pub

然后,我启动了与我的 EC2 实例的 ssh 连接,结果指纹不匹配!

我怎么这么倒霉?我是不是做错了什么,导致我的指纹不匹配?

答案1

您的公钥的指纹不是 SSH 服务器密钥的指纹,它们是不同的。请参阅以下页面的第 1 部分:https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AccessingInstancesLinux.html

(可选)您可以在本地系统(而不是实例)上使用以下命令之一来验证实例上的 RSA 密钥指纹。如果您从第三方的公有 AMI 启动实例,则此方法非常有用。找到该SSH HOST KEY FINGERPRINTS 部分,记下 RSA 指纹(例如,1f:51:ae:28:bf:89:e9:d8:1f:25:5d:37:2d:7d:b8:ca:9f:f5:f1:6f)并将其与实例的指纹进行比较。

  • 获取控制台输出 (AWS CLI)

aws ec2 get-console-output --instance-id instance_id

  • ec2-get-console-output (Amazon EC2 CLI)

ec2-get-console-output instance_id

笔记SSH HOST KEY FINGERPRINTS部分仅在实例首次启动后可用。

相关内容