Il semble que openssh a changé la façon dont il affiche les empreintes digitales clés.
J'essaye de ssh d'une machine cliente à un serveur:
- client: ubuntu 14.04 exécutant OpenSSH 6.6.1
- serveur: FreeBSD exécutant OpenSSH 7.2p2.
Le client signale le hachage md5 de la clé du serveur comme une séquence de 16 paires de chiffres hexadécimaux, comme ceci:
a7:b1:3e:3d:84:24:a2:5a:91:5f:6f:e9:cf:dd:2b:6a
Le serveur utilise par défaut le hachage sha256, mais grâce à cette réponse, je peux le forcer à donner le hachage sha1 en exécutant:
[root@host /etc/ssh]# ssh-keygen -l -E sha1 -f ssh_host_ecdsa_key.pub
Je veux que le résultat ressemble à ceci:
a7:b1:3e:3d:84:24:a2:5a:91:5f:6f:e9:cf:dd:2b:6a
mais à la place j'obtiens ceci:
256 SHA1:KIh0ejR4O+RqrSq7JdGAASddRfI root@host.local (ECDSA)
Il me semble qu'une version codée en base64 de l'empreinte digitale est maintenant affichée à la place des chiffres hexadécimaux.
Comment puis-je obtenir la somme de contrôle de la clé du serveur dans le même format que celui rapporté par le client (plus ancien) (chiffres hexadécimaux séparés par deux-points, hachage sha1) afin de vérifier qu'ils sont les mêmes?
EDIT: L'ancienne version de SSH donne la somme de contrôle md5 , pas la somme de contrôle sha1 comme je le pensais à tort. L'utilisation de cette somme de contrôle (comme devrait l'indiquer la réponse maintenant acceptée) dans l'option -E donne la sortie souhaitée.