注文する
ssh-keygen -lf /etc/ssh/ssh_host_rsa_key.pub
印刷128ビットRSA キーの指紋です。
getコマンドは何ですか?160ビットRSAキーの指紋?
答え1
キーフィンガープリントはキー素材のハッシュです。公開鍵ファイルでは、鍵データはBase64でエンコードされた行の2番目のスペースで区切られたフィールドです。指紋が表示される形式は、使用されるハッシュ値によって異なります。
128ビット指紋はMD5を使用し、16進数で表されます。たとえば、次のコマンドは同じ指紋を表示しますが、句読点と周囲の内容が異なります。
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と表示されます。今回も指紋を表示する2つのコマンドがあります。
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の現在のバージョンはそれをサポートしていませんが、16進形式またはbase64形式が必要な場合に応じて、上記の選択肢の1つを代わりsha1
に使用できます。md5
sha256