ssh "AVISO: A IDENTIFICAÇÃO DO HOST REMOTO MUDOU!"

ssh "AVISO: A IDENTIFICAÇÃO DO HOST REMOTO MUDOU!"

Tenho usado o ssh para fazer login em um servidor remoto que alugo há vários anos. Na semana passada recebi uma mensagem deles dizendo que atualizaram minha conta e servidor. Agora, quando vou fazer o login, recebo esta mensagem do ssh

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@       WARNING: POSSIBLE DNS SPOOFING DETECTED!          @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
The RSA host key for mydomain.com has changed,
and the key for the corresponding IP address X.X.X.X
is unknown. This could either mean that
DNS SPOOFING is happening or the IP address for the host
and its host key have changed at the same time.
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@    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
XXxXXXXXXX
Please contact your system administrator.
Add correct host key in /home/myaccount/.ssh/known_hosts to get rid of this message.
Offending key in /home/myaccount/.ssh/known_hosts:7
RSA host key for mydomain.com has changed and you have requested strict checking.
Host key verification failed.

Agora, presumo que isso foi acionado pelo meu host atualizando meu servidor. Então, quero confiar neste site novamente. Mas não consigo ver como.

Procurei emknown_hosts e tudo o que existe são chaves públicas. Mas não sei dizer qual deles vem da versão antiga deste servidor específico. Também não sei como obter uma chave correta para o host; da última vez que fiz contato, acho que o ssh acabou de confirmar comigo e salvou automaticamente. Agora diz que solicitei uma verificação rigorosa, mas não tenho ideia de quando fiz isso ou onde redefini-la.

Responder1

A linha:

Offending key in /home/myaccount/.ssh/known_hosts:7

indica que a chave antiga está na linha 7 do seu arquivoknown_hosts. Use seu editor favorito para excluir a linha 7. Isso deve fazer com que ela desapareça.

Você também pode usar ssh-keygen -R para remover uma entrada:

# ssh-keygen -R hostname -f ~/.ssh/known_hosts

Para sua informação, essas não são chaves públicas, mas uma representação em hash dos hosts.

Você pode listar o arquivo de hosts conhecidos com:

$ ssh-keygen -lv -f ~/.ssh/known_hosts

Em seguida, ele exibirá a chave e a representação da arte ascii:

2048 0f:3b:8a:02:75:f1:68:0f:32:8a:7a:0f:ef:69:f8:a0 |1|aa3F96t0nzhqLpt+lJx4msNAGQI=|740B4+NTrQhAx/DWXHf6QLrBpz8= (RSA)
+--[ RSA 2048]----+
|                 |
|  .              |
|   =             |
|o * .            |
|o= o    S        |
|+   .    +       |
|..o.    o .      |
|..++.o . .       |
|E. *B .          |
+-----------------+

Em teoria, você imprime e guarda em um local seguro. Quando algo suspeito acontece, você tem uma cópia para referência.

Responder2

Vou apenas acrescentar que antes de seguir o conselho de meus estimados colegas serverfaulties e apagar a linha do seu arquivoknown_hosts, você deve falar com o atendimento ao cliente do outro lado e certificar-se de que eles fizeram algo que teria causado esta chave mudar.

Responder3

Você precisará editar seu arquivo /home/myaccount/.ssh/known_hosts e remover a entrada que corresponde ao endereço IP ou nome do host do seu servidor antigo. Depois, você deve apenas fazer ssh no seu servidor como faz normalmente e ele solicitará uma nova chave e perguntará se você deseja adicioná-la. Basta dizer 'sim' e pronto! :) Não deveria perguntar novamente, a menos que algo tenha mudado.

Espero que ajude.

EDIT: sua entradaknown_hosts provavelmente seria algo assim

[nome do host ou endereço IP] [tipo de chave, geralmente ssh-rsa] [chave aqui, ou seja, ASDFJAKj3klje35u9086095468kjflADf...]

informação relacionada