Parece que o openssh mudou a maneira como exibe as principais impressões digitais.
Estou tentando ssh de uma máquina cliente para um servidor:
- cliente: ubuntu 14.04 executando o OpenSSH 6.6.1
- servidor: FreeBSD executando o OpenSSH 7.2p2.
O cliente relata o hash md5 da chave do servidor como uma sequência de 16 pares de dígitos hexadecimais, assim:
a7:b1:3e:3d:84:24:a2:5a:91:5f:6f:e9:cf:dd:2b:6a
O servidor usa como padrão o hash sha256, mas, graças a esta resposta , posso forçá-lo a fornecer o hash sha1 executando:
[root@host /etc/ssh]# ssh-keygen -l -E sha1 -f ssh_host_ecdsa_key.pub
Quero que o resultado fique assim:
a7:b1:3e:3d:84:24:a2:5a:91:5f:6f:e9:cf:dd:2b:6a
mas, em vez disso, recebo isso:
256 SHA1:KIh0ejR4O+RqrSq7JdGAASddRfI root@host.local (ECDSA)
Parece-me que agora está sendo exibida uma versão codificada em base64 da impressão digital em vez de dígitos hexadecimais.
Como posso obter a soma de verificação da chave do servidor no mesmo formato que o relatado pelo cliente (mais antigo) (dígitos hexadecimais separados por dois pontos, hash sha1) para verificar se são iguais?
EDIT: A versão antiga do SSH fornece a soma de verificação md5 , e não a soma de verificação sha1, como pensei por engano. O uso dessa soma de verificação (como a resposta agora aceita deve indicar) na opção -E fornece a saída desejada.