Es scheint, dass openssh die Art und Weise geändert hat, wie wichtige Fingerabdrücke angezeigt werden.
Ich versuche, von einem Client-Computer auf einen Server zu ssh:
- client: ubuntu 14.04 mit OpenSSH 6.6.1
- Server: FreeBSD mit OpenSSH 7.2p2.
Der Client meldet den md5-Hash des Serverschlüssels als eine Folge von 16 hexadezimalen Ziffernpaaren wie folgt:
a7:b1:3e:3d:84:24:a2:5a:91:5f:6f:e9:cf:dd:2b:6a
Der Server verwendet standardmäßig den sha256-Hash, aber dank dieser Antwort kann ich ihn zwingen, den sha1-Hash zu geben, indem ich Folgendes ausführe:
[root@host /etc/ssh]# ssh-keygen -l -E sha1 -f ssh_host_ecdsa_key.pub
Ich möchte, dass das Ergebnis so aussieht:
a7:b1:3e:3d:84:24:a2:5a:91:5f:6f:e9:cf:dd:2b:6a
aber stattdessen bekomme ich das:
256 SHA1:KIh0ejR4O+RqrSq7JdGAASddRfI root@host.local (ECDSA)
Für mich sieht es so aus, als würde jetzt eine Base64-codierte Version des Fingerabdrucks anstelle von Hex-Ziffern angezeigt.
Wie kann ich die vom (älteren) Client gemeldete Prüfsumme des Serverschlüssels im selben Format erhalten (durch Doppelpunkte getrennte Hex-Ziffern, sha1-Hash), um zu überprüfen, ob sie gleich sind?
BEARBEITEN: Die alte Version von SSH gibt die MD5- Prüfsumme, nicht die SHA1-Prüfsumme, wie ich fälschlicherweise dachte. Die Verwendung dieser Prüfsumme (wie in der jetzt akzeptierten Antwort angegeben) in der Option -E ergibt die gewünschte Ausgabe.