O formato de saída "ssh-keygen -l" do OpenBSD foi alterado na versão 5.7. Como verificar a chave do host ao conectar-se a partir de versões ssh mais antigas?
Até o OpenBSD 5.6, o formato de saída da impressão digital host_keys era assim:
# ssh-keygen -lf ssh_host_ecdsa_key.pub
256 9d:76:ba:86:80:ef:63:eb:41:2f:13:f3:f4:b5:0b:35 [email protected] (ECDSA)
No OpenBSD 5.7 o formato de saída mudou:
# ssh-keygen -lf ssh_host_ecdsa_key.pub
256 SHA256:6vYsd91sIrtVqPXazpPfRxj9QDa+1+Ns2C2lKSUph3c [email protected] (ECDSA)
Ao conectar-se de um cliente ssh OpenBSD5.7 a um sshd OpenBSD5.7, uma verificação é possível:
# ssh localhost
The authenticity of host 'localhost (127.0.0.1)' can't be established.
ECDSA key fingerprint is SHA256:6vYsd91sIrtVqPXazpPfRxj9QDa+1+Ns2C2lKSUph3c.
Are you sure you want to continue connecting (yes/no)?
Como verifico as impressões digitais das chaves ao conectar de uma máquina OpenBSD 5.6 a uma máquina OpenBSD 5.7? Existe uma maneira de converter o formato de saída?
Responder1
No OpenBSD 5.7, ssh-keygen usa SHA256 para o hash de impressão digital padrão.
Você está procurando o hash MD5 da impressão digital:
# ssh-keygen -l -E md5 -f /etc/ssh/ssh_host_ecdsa_key.pub