AWS EC2 密钥中的 ed25519 指纹中的额外“=”填充
Extra `=` padding in ed25519 fingerprint in AWS EC2 key
我遇到了一个有趣的场景,我的 imported/created ed25519 SSH 密钥生成的指纹与 ssh-keygen
在 AWS EC2 密钥控制台中报告的不同。
例如,考虑我生成的随机密钥,其 ssh-keygen
指纹是:
64OuseEfObM7yYiEyK7u42qN1kHj6/JGnpro1XqO4pM
AWS 生成的指纹是这样的:
64OuseEfObM7yYiEyK7u42qN1kHj6/JGnpro1XqO4pM=
所以,出于某种原因,有额外的填充。有谁知道为什么会这样?或者,有人知道 AWS 是如何生成这些指纹的吗?最后 =
消失的 trim 就可以了吗?我的意思是填充大部分是可选的,但我想生成相同的指纹以便我可以比较它们。
另请注意,这仅适用于 ed25519 密钥。正常的 RSA 工作正常。我知道他们做了一些奇怪的事情,将其转换为 OpenSSL 然后再返回或类似的东西。但我认为 ed25519 并非如此......
干杯!
我知道了。
也来自这里的其他帖子,但答案是他们使用的是 base64 sha256 openssl 组合,如下所示:
$ cat ~/.ssh/ec2-key.pub | base64 -w0 -d | openssl dgst -binary -sha256 | base64 -w0; echo
pub 密钥是从下载的 ec2 pem 密钥生成的,如下所示:
ssh-keygen -y -f ~/.ssh/ec2-key.pem > ~/.ssh/ec2-key.pub
我遇到了一个有趣的场景,我的 imported/created ed25519 SSH 密钥生成的指纹与 ssh-keygen
在 AWS EC2 密钥控制台中报告的不同。
例如,考虑我生成的随机密钥,其 ssh-keygen
指纹是:
64OuseEfObM7yYiEyK7u42qN1kHj6/JGnpro1XqO4pM
AWS 生成的指纹是这样的:
64OuseEfObM7yYiEyK7u42qN1kHj6/JGnpro1XqO4pM=
所以,出于某种原因,有额外的填充。有谁知道为什么会这样?或者,有人知道 AWS 是如何生成这些指纹的吗?最后 =
消失的 trim 就可以了吗?我的意思是填充大部分是可选的,但我想生成相同的指纹以便我可以比较它们。
另请注意,这仅适用于 ed25519 密钥。正常的 RSA 工作正常。我知道他们做了一些奇怪的事情,将其转换为 OpenSSL 然后再返回或类似的东西。但我认为 ed25519 并非如此......
干杯!
我知道了。
也来自这里的其他帖子,但答案是他们使用的是 base64 sha256 openssl 组合,如下所示:
$ cat ~/.ssh/ec2-key.pub | base64 -w0 -d | openssl dgst -binary -sha256 | base64 -w0; echo
pub 密钥是从下载的 ec2 pem 密钥生成的,如下所示:
ssh-keygen -y -f ~/.ssh/ec2-key.pem > ~/.ssh/ec2-key.pub