Copiando known_hosts entre computadores?

3

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?

    
por OJW 31.01.2013 / 19:15

2 respostas

5

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.

    
por 31.01.2013 / 21:02
4

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.

    
por 31.01.2013 / 19:48