No meu mac, eu tenho 1 entrada por servidor no ~/.ssh/known_hosts
arquivo, no Ubuntu eu notei que existem duas criadas por servidor. Por que é que?
O formato é:
|1|wwwwwwwwwwwwwww=|wwwwwwwwww= ecdsa-sha2-nistp256 AAAAAAAAAA+AAAAA=
|1|vvvvvvvvvvvvvvv=|vvvvvvvvvv= ecdsa-sha2-nistp256 AAAAAAAAAA+AAAAA=
Nas duas entradas, a primeira seção antes de ecdsa-sha2-nistp256 é diferente. Depois do ecdsa-sha2-nistp256, é o mesmo (chave do pub que eu imagino).
Eu ssh no servidor A e, a partir daí, ssh no servidor B. Não adiciono entradas manualmente, vejo o aviso do ubuntu e permito que seja adicionado ao arquivo known_hosts.
Eu apaguei o arquivo known_hosts para este teste.
Tenho uma dúvida razoável de que a entrada extra é para o endereço ipv6, mesmo que eu não o tenha usado para conectar. O ubuntu o adiciona automaticamente, se disponível?
Respostas:
Você tem duas entradas porque uma é por domínio e a outra por endereço IP, portanto, seu exemplo:
pode, com efeito, ler:
Se você desabilitar o hash do host conhecido (adicionar
HashKnownHosts no
ao seu arquivo ~ / .ssh / config), poderá ver o que está acontecendo, mas em um arquivo known_host sem hash, o domínio e o endereço IP podem aparecer na mesma linha, para que ficaria assim:Há um pouco mais de discussão sobre o formato de arquivo known_hosts aqui.
fonte
Você deve ter uma chave para cada servidor ao qual você se conectou. Você se conectou a dois servidores em vários momentos ou a chave no seu servidor único foi alterada.
Quando você se conecta pela primeira vez a um servidor ssh, é perguntado se deseja adicionar a chave aos hosts conhecidos.
Parece algo assim:
Então você aceitou as chaves com seu cliente em algum momento.
Com cada conexão subsequente, quando você se conecta ao servidor, as chaves são comparadas e você recebe um aviso se elas forem alteradas.
Consulte: http://bodhizazen.com/Tutorials/SSH_overview#Security
fonte