Acesso SSH em Host no qual teve sua identificação alterada - "WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!"

Publicado por Gabriel Fernandes em 05/08/2011

[ Hits: 22.238 ]

Blog: http://cd2.com.br

 


Acesso SSH em Host no qual teve sua identificação alterada - "WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!"



Ao acessar um Host remoto usando SSH no console do Linux, o computador origem tenta verificar a autenticidade do Host remoto que queremos conectar no arquivo ~/.ssh/known_hosts e caso ela existir e estiver válida, imediatamente é solicitada a senha e o acesso é estabelecido.

Quando é a primeira vez em que acessamos este Host remoto, o programa SSH procura no arquivo ~/.ssh/known_hosts se há uma chave RSA associada ao IP do Host remoto, como é o primeiro acesso ela não existirá e o usuário será avisado que não foi possível checar a autenticidade do Host remoto e exibirá a chave RSA dele, além de solicitar ao usuário uma confirmação para acessá-lo.

Abaixo podemos ver um exemplo desta mensagem:

$ ssh [email protected]
The authenticity of host '192.168.12.136 (192.168.12.136)' can't be established.
RSA key fingerprint is 27:68:b4:54:3d:98:0f:ab:83:c5:94:9e:b1:f4:2a:d7.
Are you sure you want to continue connecting (yes/no)?

Neste momento, você concorda digitando "yes" e estabelece o acesso ou "no" para não conectar.

Respondendo "yes" o programa ssh irá gravar no arquivo ~/.ssh/known_hosts a chave ssh- rsa correspondente a este Host remoto, para que não seja mais solicitado esta confirmação na próxima vez em que efetuar um acesso por SSH neste mesmo Host.

Caso o Host remoto seja trocado e você tentar realizar um acesso por SSH a partir do mesmo computador origem, esta chave não será mais validada, então uma mensagem, como esta a seguir, deve ser exibida indicando que a chave existente no arquivo para o IP deste Host remoto não confere com a chave RSA dele atual.

Observe a mensagem:

$ ssh [email protected]
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@
@ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that the RSA host key has just been changed.
The fingerprint for the RSA key sent by the remote host is
27:68:b4:54:3d:98:0f:ab:83:c5:94:9e:b1:f4:2a:d7.
Please contact your system administrator.
Add correct host key in /home/gabriel/.ssh/known_hosts to get rid of this message.
Offending key in /home/gabriel/.ssh/known_hosts:44
RSA host key for 192.168.12.136 has changed and you have requested strict checking.
Host key verification failed.

Para resolver isto é simples, pois apenas precisamos remover do .ssh/known_hosts a linha com o IP do Host remoto que queremos acessar.

Muito usuários excluem todo o arquivo .ssh/known_hosts, o que não é um boa prática, pois implica em regerar todas as chaves novamente para todos os Hosts que já acessamos e responder "yes" novamente para todas eles, entretanto há uma saída simples e rápida que podemos usar na própria linha de comando.

Podemos usar um pequeno comando sed e imediatamente voltaremos a acessar aquele Host remoto, sem perder qualquer chave de outros Hosts que já estão no .ssh/known_hosts.

O comando é este que segue, para usar no seu computador, altere apenas o número do IP para o do Host remoto:

sed -i '/192.168.12.136/d' .ssh/known_hosts

Pronto, agora podemos gravar uma nova chave para este Host remoto e voltar a acessá-lo normalmente, sem perder qualquer informação dos outros Hosts que já acessamos.

Boa sorte!

Outras dicas deste autor

Imprimindo em impressoras térmicas com CUPS e Kprinter

Copiar arquivos com Samba via smbclient

Transformando o KDE em um clone do Mac OS X

Driver Realtek RTL8111B / RTL8168B para Linux CentOS 5

Erro "unknown filesystem type 'LVM2_member'" - como montar LVM sem alterar configurações no HD convidado

Leitura recomendada

Criando volumes criptografados

IPCop Firewall de rede grátis

Vídeo da palestra Análise de Malwares com Software Livre

Primeira Conferencia Hacker no Brasil

Metasploit Framework no Linux

  

Comentários
[1] Comentário enviado por padulas em 07/11/2012 - 18:36h

Obrigado pela dica meu amigo, eu estou pegando o jeito do pinguim rs. Viva a Liberdade, viva o mundo GNU/Linux.

[2] Comentário enviado por nayamonia em 08/11/2012 - 13:25h

Valeu pelo retorno.

Gabriel Fernandes
http://cd2.com.br
http://ameliapos.com

[3] Comentário enviado por pexessj em 07/12/2012 - 10:49h

Olá Gabriel, temos outra forma de remover apenas a linha referente ao IP que desejamos remover do arquivo. O comando é:

# ssh-keygen -f "/home/USUARIO/.ssh/known_hosts" -R ENDEREÇO_IP

Espero ter ajudado.

Um abraço

Att.

Matheus

[4] Comentário enviado por MauroFontoura em 22/05/2013 - 13:45h

Usei e funcionou exclui a linha com o ip que eu queria usando o vi.
Valeu

[5] Comentário enviado por rengaf1 em 19/06/2013 - 21:43h

valeu gabriel

a dica do pexessi tambem funciona direitinho. valeu!!!

vlw!

[6] Comentário enviado por nayamonia em 24/06/2013 - 18:38h

vlw galera.

Gabriel

[7] Comentário enviado por jarvis em 24/07/2014 - 15:35h

Meu irmão, muito obrigado.

[8] Comentário enviado por nayamonia em 25/07/2014 - 12:10h

Obrigado por comentar.

Att. Gabriel
http://cd2.com.br



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts