Use a opção -E
para o ssh-keygen
:
ssh-keygen -l -f -E md5
Isso está disponível nas versões recentes do OpenSSH e imprime a impressão digital MD5 "antiga", igual ao PuTTY.
Eu trabalho no Windows 10.
Eu PuTTY ssh em físico: CentOS7, virtualbox: CentOS6,7 & Ubuntu 16.
Em primeiro ssh FROM Win TO vb: Ubuntu & Eu recebo o servidor ole normal / impressão digital não um host host conhecido. Nada demais. Mas eu me perguntava: como eu poderia confirmar que não há "homem no meio"?
Caso mais simples: estou sentado na frente do alvo (chamado 'local' daqui em diante) e verifique sua impressão digital diretamente.
Acontece que: tentar exibir localmente a impressão digital da chave pública da máquina usando ssh-keygen -lf <filename>
(arquivo: /etc/ssh/ssh_host_rsa_key.pub
) no Ubuntu 16 me deu uma impressão digital que não consegui comparar com nenhum aviso de um ssh remoto.
Por qualquer lugar, quero dizer que:
"2048 SHA256:NPAUL **** 4QQ [email protected] (RSA)"
não é o que aparece no popup PuTTy e quando eu copio o arquivo de chave do pub para o CentOS6 ou 7 e executo ssh-keygen -l -f
contra ele, eles correspondem um ao outro, mas não aquele de executar ssh-keygen
localmente no Ubuntu (como, as implementações são diferentes).
2a. fazer o scp
foi apenas uma maneira que pensei em testar as coisas.
A porca da questão é: como posso confirmar se a impressão digital que o ssh ui me mostra está correta antes de dizer "sim", aceitarei?
Visualização local da impressão digital (aprox.):
"2048 SHA256:NPAULv10 **** lic4QQ [email protected] (RSA)"
Visualização remota da impressão digital (usando Win PuTTy):
"The new rsa2 key fingerprint is:
ssh-rsa 2048 ce:e9:43 **** :cb"
Vista remota da impressão digital (usando o terminal CentOS6 e 7): "2048 ce: e9: 43 ****: cb" nome do arquivo (RSA)
Nota:
-B
) são equivalentes, mas não são impressões digitais. ssh-keygen -lf
on /etc/ssh*.pub
(ou seja: * dsa_key.pub, * ecdsa_key.pub, * ed25519_key.pub & * rsa_key.pub) não exibiu uma correspondência para a impressão digital vista remotamente.