opensshがキーフィンガープリントの表示方法を変更したようです。
私はクライアントマシンからサーバーにsshしようとしています:
- クライアント:OpenSSH 6.6.1を実行するubuntu 14.04
- サーバー:OpenSSH 7.2p2を実行しているFreeBSD。
クライアントは、次のように、サーバーのキーのmd5ハッシュを16桁の16桁のシーケンスとして報告します。
a7:b1:3e:3d:84:24:a2:5a:91:5f:6f:e9:cf:dd:2b:6a
サーバーはデフォルトでsha256ハッシュを使用しますが、この回答のおかげで、次のコマンドを実行することで強制的にsha1ハッシュを与えることができます。
[root@host /etc/ssh]# ssh-keygen -l -E sha1 -f ssh_host_ecdsa_key.pub
結果は次のようになります。
a7:b1:3e:3d:84:24:a2:5a:91:5f:6f:e9:cf:dd:2b:6a
しかし、代わりに私はこれを取得します:
256 SHA1:KIh0ejR4O+RqrSq7JdGAASddRfI root@host.local (ECDSA)
base64でエンコードされた指紋のバージョンが16進数ではなく表示されているように見えます。
(古い)クライアント(コロンで区切られた16進数、sha1ハッシュ)によって報告されたものと同じ形式でサーバーのキーのチェックサムを取得して、それらが同じであることを確認するにはどうすればよいですか?
編集: SSHの古いバージョンは、誤って考えたsha1チェックサムではなく、md5チェックサムを提供します。-Eオプションでそのチェックサムを使用すると(現在受け入れられている答えが示すとおり)、目的の出力が得られます。