Seu primeiro exemplo contém uma chave ECDSA ( ecdsa-sha2-nistp256
), que foi introduzida no OpenSSH 5.7.
O OpenSSH 4.5 suporta apenas chaves RSA e DSA ( ssh-rsa
e ssh-dss
) e ignora sua entrada known_hosts.
Conecte-se a um servidor usando OpenSSH_5.9p1 OpenSSL 1.0.1 e armazene um .ssh / known_hosts que tenha o formato:
|1|wwwwwwwwwwwwwww=|wwwwwwwwww= ecdsa-sha2-nistp256 AAAAAAAAAA+AAAAA=
Copie esse arquivo known_hosts para outro PC que esteja executando o OpenSSH_4.5p1 OpenSSL 0.9.8d, e ele fornece a mensagem "A autenticidade não pode ser estabelecida, você tem certeza de que deseja continuar se conectando", como se o arquivo known_hosts fosse ' direito.
Quando esse segundo PC armazena o known_hosts para o mesmo servidor, ele o grava no formato:
[10.2.3.4]:22 ssh-rsa AAAAAAAAAA/BBBBB/CCCCCC//DDDDDD
Existe uma maneira de converter entre os dois formatos?
O primeiro formato de chave que você tem é um formato de hash, projetado para impedir que alguém que invadiu sua conta saiba com quais outros hosts ele pode se conectar usando sua senha e / ou chaves SSH.
É possível converter o formato de texto simples para o formato hash, mas não vice-versa. Existem vários scripts lá fora na net para esse fim.
Se você não está tão preocupado com esse problema, pode sempre adicionar
HashKnownHosts no
para ~/.ssh/config
para desativar o hashing known_hosts
. Consulte ssh_config (5) para mais detalhes.
Tags ssh known-hosts