确定使用 ssh-keygen 生成的密钥是 ssh-rsa 还是 rsa-sha2-256

问题描述 投票:0回答:1

当我使用生成 SSH 密钥对时

ssh-keygen -t ssh-rsa -m PEM -f testkey-ssh-rsa.key

密钥是使用 ssh-rsa 签名类型生成的。如果我将类型参数 (-t) 更改为 rsa-sha2-256

ssh-keygen -t rsa-sha2-256 -m PEM -f testkey-rsa-sha2-256.key

密钥是使用 rsa-sha2-256 签名类型生成的。

如何从生成的文件中追溯(如果可能的话)使用哪种密钥类型生成文件?任何解决方案(程序化或基于工具的)都可以。我已经尝试过 ssh-keygen,但它并没有显示出差异。

ssh-keygen -l -f testkey-ssh-rsa.key

输出

3072 SHA256:0U8VbIePF+o5BHRgVGlaBiNFT9huV7brijuKD7xpxmg [email protected] (RSA)

ssh-keygen -l -f 

输出

3072 SHA256:5wLSugVJTXjdS4cKeWj3tH5KqXX03VNkgaKLGpU+C1A [email protected] (RSA)

ssh rsa
1个回答
2
投票

如果我正确理解这个超级用户问答中的信息,两者具有相同的密钥类型,并且在进行身份验证握手时它们的签名格式不同,尽管现代 SSH 客户端将自动使用 RSA 密钥协商签名类型。签名类型在颁发证书时也是相关的,但在生成普通密钥时不相关。命令的

-l
选项显示密钥的指纹,以及用于生成指纹的哈希算法 (sha256)。

如果您生成的是普通密钥而不是签名证书,那么可能没有区别(我只是想解释引用的帖子——我在这里可能完全错了)。

© www.soinside.com 2019 - 2024. All rights reserved.