Il semble qu'openssh ait changé la façon dont il affiche les empreintes des clés.
J'essaie d'effectuer un ssh depuis une machine cliente vers un serveur :
- client : ubuntu 14.04 exécutant OpenSSH 6.6.1
- serveur : FreeBSD utilisant OpenSSH 7.2p2.
Le client rapporte le hachage md5 de la clé du serveur sous la forme d'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 à l'outil 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 au lieu des chiffres hexadécimaux.
Comment puis-je obtenir la somme de contrôle de la clé du serveur dans le même format que celle rapportée par le client (plus ancien) (chiffres hexagonaux séparés par deux points, hachage sha1) afin de vérifier qu'elles sont identiques ?
EDIT : L'ancienne version de SSH donne le md5 checksum, no la somme de contrôle sha1 comme je le pensais par erreur. L'utilisation de cette somme de contrôle (comme la réponse maintenant acceptée devrait l'indiquer) dans l'option -E donne le résultat souhaité.