Sembra che openssh abbia cambiato il modo in cui visualizza le impronte digitali chiave.
Sto provando a ssh da una macchina client a un server:
- client: ubuntu 14.04 con OpenSSH 6.6.1
- server: FreeBSD che esegue OpenSSH 7.2p2.
Il client riporta l'hash md5 della chiave del server come una sequenza di 16 coppie di cifre esadecimali, in questo modo:
a7:b1:3e:3d:84:24:a2:5a:91:5f:6f:e9:cf:dd:2b:6a
Il server utilizza automaticamente l'hash sha256, ma grazie a questa risposta posso forzarlo a dare l'hash sha1 eseguendo:
[root@host /etc/ssh]# ssh-keygen -l -E sha1 -f ssh_host_ecdsa_key.pub
Voglio che il risultato sia simile al seguente:
a7:b1:3e:3d:84:24:a2:5a:91:5f:6f:e9:cf:dd:2b:6a
ma invece ottengo questo:
256 SHA1:KIh0ejR4O+RqrSq7JdGAASddRfI root@host.local (ECDSA)
Mi sembra che ora venga visualizzata una versione codificata in base64 dell'impronta digitale anziché cifre esadecimali.
Come posso ottenere il checksum della chiave del server nello stesso formato riportato dal client (più vecchio) (cifre esadecimali separate da due punti, hash sha1) in modo da verificare che siano uguali?
EDIT: La vecchia versione di SSH fornisce il checksum md5 , non il checksum sha1 come pensavo erroneamente. L'uso di quel checksum (come dovrebbe affermare la risposta ora accettata) nell'opzione -E fornisce l'output desiderato.