Recentemente, depois de algum tempo, tentei entrar no meu servidor ssh na LAN e recebi este aviso:
$ ssh user@local.server.hostname
Warning: Permanently added the RSA host key for IP address '192.168.1.4' to the list of known hosts.
Dei uma olhada no seguinte post no SO: https://stackoverflow.com/questions/9299651/warning-permanently-added-to-the-list-of-known-hosts-message-from-git
Mas eu não ' acho que isso se deve ao cliente ssh que não verifica o known_hosts
arquivo (acho que ele verifica no meu caso e não estou executando o Windows).
Aqui está o known_hosts
arquivo e descobri que tenho duas linhas da mesma chave pública, mas nomes de host / IPs diferentes:
$ cat ~/.ssh/known_hosts
local.server.hostname,192.168.1.3 ssh-rsa ...Here it goes the public key...
192.168.1.4 ssh-rsa ...Here it goes the same public key (as for the local.server.hostname,192.168.1.3 entry above)...
Estou certo de que as duas chaves públicas são iguais (verifiquei a impressão digital de ambas com o comando echo "here I pasted the public key" | base64 -D | md5
que executei para cada entrada de known_hosts). Caso contrário, eu teria visto um "AVISO: A IDENTIFICAÇÃO DO HOST REMOTA FOI MUDADA".
Agora, eu tenho uma rede local com DHCP, então o servidor recebe um IP e, às vezes, um outro.
Eu acho que esse é o principal motivo pelo qual recebi esse aviso: o IP do servidor foi alterado (de 192.168.1.3, primeira linha de unknown_hosts, para 192.168.1.4), mas como a chave pública permaneceu a mesma e a chave pública já era confiável para o meu cliente ssh porque já havia uma entrada para local.server.hostname,192.168.1.3
in known_hosts
, o cliente ssh me mostrou o aviso, mas adicionou a entrada para 192.168.1.4
sem solicitar confirmação.
Isso está correto? A única coisa que vem à mente é: por que o cliente adicionou outra entrada em vez de apenas modificar a já existente, como da seguinte maneira:
local.server.hostname,192.168.1.3,192.168.1.4 ssh-rsa ...public key...
Por que duas entradas para a mesma chave pública?