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 [email protected] (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.
sha1
vez demd5
! Eu desatualizei a versão do Ubuntu com o openssh-6.9, mas funciona muito bem.Como se vê, o SSH Cookbook tem uma maneira de gerar manualmente chaves no formato hexadecimal mais antigo. Eu usei isso no servidor freebsd.
Quebrando isso:
imprima a segunda coluna (separada por espaço) em "key.pub", que é a própria chave
a chave é codificada em base64. Isso produzirá os bytes reais da chave
isso é o equivalente do freebsd ao 'md5sum -b' especificado na receita na página do livro de receitas ssh
Existem dois comandos sed aqui:
substitua cada par de caracteres na linha (graças à bandeira 'g' no final) pelo mesmo par seguido por dois pontos
remova os dois pontos à direita (substitua dois pontos seguidos por um espaço seguido por qualquer coisa até o final da linha por nada).
fonte
Em casos como este, uso o seguinte pequeno script (testado no Debian e Ubuntu):
Exemplo de uso:
fonte