额外' = '填充ed25519指纹在AWS EC2密钥



我遇到了一个有趣的场景,为我导入/创建的ed25519 SSH密钥生成的指纹与AWS EC2密钥控制台上ssh-keygen报告的指纹不同。

例如,考虑我生成的一个随机密钥,其ssh-keygen指纹为:
64OuseEfObM7yYiEyK7u42qN1kHj6/JGnpro1XqO4pM

AWS生成的指纹如下:

64OuseEfObM7yYiEyK7u42qN1kHj6/JGnpro1XqO4pM=

因此,由于某种原因,有额外的填充。有人知道为什么会这样吗?或者,有人知道AWS是如何生成这些指纹的吗?修剪掉最后的=是可以的吗?我的意思是填充大部分是可选的,但我想生成相同的指纹,所以我可以比较它们。

还要注意,这只适用于ed25519键。正常的RSA工作正常。我知道他们做了一些不稳定的事情把它转换成OpenSSL,然后再转换回来之类的。但我认为ed25519不是这样的……

干杯!

我明白了。

从这里的其他帖子,但答案是,他们正在使用base64 sha256 openssl组合像这样:

$ cat ~/.ssh/ec2-key.pub | base64 -w0 -d | openssl dgst -binary -sha256 | base64 -w0; echo

从下载的ec2 pem密钥生成pub密钥,如下所示:

ssh-keygen -y -f ~/.ssh/ec2-key.pem > ~/.ssh/ec2-key.pub

最新更新