dr_ Asked: 2019-08-01 05:32:40 +0800 CST2019-08-01 05:32:40 +0800 CST 2019-08-01 05:32:40 +0800 CST RSA 密钥的 160 位指纹 772 命令 ssh-keygen -lf /etc/ssh/ssh_host_rsa_key.pub 打印 RSA 密钥的128 位指纹。 获取RSA 密钥的160 位指纹的命令是什么? ssh hashsum 1 个回答 Voted Best Answer Gilles 'SO- stop being evil' 2019-08-01T06:12:12+08:002019-08-01T06:12:12+08:00 密钥指纹是密钥材料的散列。在公钥文件中,密钥材料是行中第二个以空格分隔的字段,以 base64 编码。指纹的显示格式取决于所使用的哈希值。 128 位指纹使用 MD5 并以十六进制显示。例如,以下命令显示相同的指纹,但标点符号和周围材料不同: ssh-keygen -f /etc/ssh/ssh_host_rsa_key.pub -l -E md5 </etc/ssh/ssh_host_rsa_key.pub awk '{print $2}' | base64 -d | md5sum SHA256 指纹(256 位)以 Base64 显示。同样,这里有两个显示指纹的命令。 ssh-keygen -f /etc/ssh/ssh_host_rsa_key.pub -l -E sha256 </etc/ssh/ssh_host_rsa_key.pub awk '{print $2}' | base64 -d | openssl sha -sha256 -binary | base64 如果您需要 160 位指纹,它使用 SHA-1,它从未得到普遍支持(我认为 SHA-1 直到 SHA-1 本身被弃用时才被引入作为 MD5 的替代品)。当前版本的 OpenSSH 不支持它,但您可以使用上述任何一种替代方法,sha1而不是md5或sha256,具体取决于您需要十六进制还是 base64 格式。
密钥指纹是密钥材料的散列。在公钥文件中,密钥材料是行中第二个以空格分隔的字段,以 base64 编码。指纹的显示格式取决于所使用的哈希值。
128 位指纹使用 MD5 并以十六进制显示。例如,以下命令显示相同的指纹,但标点符号和周围材料不同:
SHA256 指纹(256 位)以 Base64 显示。同样,这里有两个显示指纹的命令。
如果您需要 160 位指纹,它使用 SHA-1,它从未得到普遍支持(我认为 SHA-1 直到 SHA-1 本身被弃用时才被引入作为 MD5 的替代品)。当前版本的 OpenSSH 不支持它,但您可以使用上述任何一种替代方法,
sha1
而不是md5
或sha256
,具体取决于您需要十六进制还是 base64 格式。