Ssh
RSA 密鑰的 160 位指紋
命令
ssh-keygen -lf /etc/ssh/ssh_host_rsa_key.pub
列印 RSA 密鑰的128 位指紋。
獲取RSA 密鑰的160 位指紋的命令是什麼?
密鑰指紋是密鑰材料的散列。在公鑰文件中,密鑰材料是行中第二個以空格分隔的欄位,以 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 格式。