如何验证我拥有的私钥与 AWS 密钥对匹配?

csh*_*ple 5 ssh-keygen amazon-web-services

我的 AWS 实例说它被配置为使用我账户上唯一的密钥对,它的指纹格式为:

3c:64:a7:85:53:3f:81:1c:24:5a:d2:6a:5b:76:47:da:f3:14:63:88

我的电脑上有一个 key.pem 文件。如何验证此 pem 文件是否与 AWS 提供的上述密钥对指纹匹配?

我尝试了以下操作:ssh-keygen -lf key.pem

以这种格式输出一些东西:2048 SHA256:TpL6i8y1uCd26IUVVc5UHFluP7GLKD/T3O1+K4Pc0qg no comment (RSA)

编码方案不同,我无法判断它们是否等效。

我正在尝试调试为什么我无法使用此密钥 ssh 进入我的实例,这是我尝试的第一步。

MLu*_*MLu 10

有两种方法,具体取决于您创建 SSH 密钥的方式,如AWS 文档中验证您的密钥对的指纹中所述。

这是我在控制台中的 SSH 密钥指纹:

EC2 密钥对屏幕截图

以下是从命令行获取相同指纹的方法:

~ $ openssl rsa -in ~/.ssh/aws-sandpit.pem -pubout -outform DER | openssl md5 -c
writing RSA key
(stdin)= ae:ae:56:84:f9:72:c4:d1:0a:b8:e9:3b:ab:d4:a7:00
Run Code Online (Sandbox Code Playgroud)

如果这不匹配试试这个:

~ $ openssl pkcs8 -in path_to_private_key -inform PEM -outform DER -topk8 -nocrypt | openssl sha1 -c
Run Code Online (Sandbox Code Playgroud)

希望有帮助:)