Por que o ssh sempre não me pede para verificar a impressão digital da chave do servidor?

2

Às vezes, quando me conecto por SSH a um servidor que não está em meu arquivo de hosts conhecidos, o ssh me envia a mensagem:

The authenticity of host '[domain] ([ip_address])' can't be established.
RSA key fingerprint is [fingerprint].
Are you sure you want to continue connecting (yes/no)?

Se eu selecionar "sim", recebo a mensagem:

Warning: Permanently added '[domain]' (RSA) to the list of known hosts.

Mas para alguns outros servidores (por exemplo, github.com), não sou solicitado a continuar e, em vez disso, imediatamente recebo a seguinte mensagem, que é formulada de forma ligeiramente diferente:

Warning: Permanently added the RSA host key for IP address '[ip_address]' to the list of known hosts.

O que causa essa diferença de comportamento? E mais importante, quando eu sou não solicitado, eu preciso verificar manualmente a chave que foi adicionada ao arquivo known_hosts antes de continuar a trabalhar com o servidor?

Em ambos os casos, estou autenticando via chave pública. Estou executando o OS X 10.10.3, usando o OpenSSH instalado pelo sistema.

    
por Rich 04.08.2015 / 14:53

2 respostas

1

Acontece que eu sou apenas um idiota.

Enquanto como afirma Jakuje , o SSHFP permite que os sites armazenem a impressão digital de chave pública em seus registros DNS, neste Por exemplo, a chave já estava no arquivo hosts conhecidos, sob o nome de domínio, (que descobri adicionando o sinalizador -v debug ao meu comando ssh ).

Como a mensagem informativa que recebi explica, uma nova linha estava sendo adicionada ao arquivo para o endereço IP que está sendo usado .

    
por 04.08.2015 / 16:13
3

Provavelmente isso é causado pelo fato de esses sited terem suas impressões digitais ssh armazenadas no DNS, para que não incomodem mais os usuários com a verificação da chave.

O recurso é chamado registro SSHFP. Você pode verificar isso usando ssh-keygen -r github.com

    
por 04.08.2015 / 15:46

Tags