Ir para o conteúdo
Ajuda

Aviso "REMOTE HOST IDENTIFICATION HAS CHANGED" ao acessar a VPS: o que fazer

O aviso aparece quando a VPS apresenta uma identificação diferente da que o seu computador guardou. Depois de reinstalar o sistema, é normal: apague a identificação antiga com ssh-keygen -R <IP_DA_VPS> e conecte de novo. Se você não reinstalou nem trocou de VPS, não continue e fale com o Suporte.

Problema4 min de leitura

O aviso REMOTE HOST IDENTIFICATION HAS CHANGED aparece quando a VPS apresenta uma identificação (a chave do host) diferente da que o seu computador guardou na primeira conexão. As causas mais comuns são: você reinstalou o sistema da VPS, o IP passou a ser de outra VPS ou as chaves do SSH da VPS foram trocadas. Nesses casos é normal: apague a identificação antiga com ssh-keygen -R <IP_DA_VPS> e conecte de novo. Se nada disso aconteceu, não continue: pode ser alguém no meio da conexão, e o certo é falar com o Suporte.

Atenção: segurança da sua VPS. Este aviso existe para proteger você. Só apague a identificação antiga quando souber por que ela mudou.

Sintomas

Ao conectar com ssh root@<IP_DA_VPS>, o terminal mostra uma mensagem como esta e não conecta:

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@    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 a host key has just been changed.
...
Offending ED25519 key in /home/<USUARIO>/.ssh/known_hosts:3
Host key verification failed.

No Windows, o caminho aparece como C:\\Users\\<USUARIO>/.ssh/known_hosts. O arquivo known_hosts é onde o seu computador guarda a identificação de cada servidor em que você já entrou.

Causa 1: você reinstalou o sistema da VPS

Como confirmar: você usou Reinstalar SO na Zona perigosa da aba Sistema (Minhas VPS › Gerenciar › Sistema) pouco antes do aviso. A reinstalação cria chaves novas para o SSH da VPS, então a identificação muda. Isso é esperado.

Como resolver: no terminal do seu computador (Linux, Mac ou PowerShell no Windows), apague a identificação antiga:

ssh-keygen -R <IP_DA_VPS>

O terminal mostra # Host <IP_DA_VPS> found e Original contents retained as .... Conecte de novo com ssh root@<IP_DA_VPS>: aparece a pergunta Are you sure you want to continue connecting (yes/no/[fingerprint])?, como na primeira conexão. Digite yes.

Se você conecta por outra porta, use ssh-keygen -R "[<IP_DA_VPS>]:<PORTA>". Se conecta pelo domínio, apague também ssh-keygen -R seudominio.com.br.

Para ter certeza antes do yes, confira a identificação pelo Console SSH do painel, que não passa pela rede (veja "Como acessar sua VPS pelo Console SSH do painel"):

ssh-keygen -lf /etc/ssh/ssh_host_ed25519_key.pub

O código que começa com SHA256: deve ser igual ao que o terminal mostra na pergunta (ED25519 key fingerprint is SHA256:...).

Causa 2: o IP passou a ser de outra VPS

Como confirmar: você contratou uma VPS nova, cancelou uma antiga ou recebeu um IP que já tinha usado antes. O seu computador guardou a identificação da máquina antiga para aquele IP. Confira o IP atual em "Como ver os IPs e a rede da VPS pelo painel".

Como resolver: se o IP é mesmo o da sua VPS atual, faça como na causa 1: ssh-keygen -R <IP_DA_VPS> e conecte de novo, conferindo a identificação pelo Console SSH.

Causa 3: as chaves do SSH da VPS foram trocadas

Como confirmar: você (ou um script, ou o seu desenvolvedor) gerou chaves novas para o servidor SSH, ou restaurou um snapshot ou backup feito antes de uma reinstalação, o que traz de volta as chaves antigas.

Como resolver: confira pelo Console SSH, com o ssh-keygen -lf da causa 1, se a identificação da VPS é a que o terminal mostra. Se for, apague a antiga com ssh-keygen -R <IP_DA_VPS> e conecte de novo.

Causa 4: nada mudou na VPS (sinal de alerta)

Como confirmar: você não reinstalou, não trocou de VPS, não mexeu nas chaves e não restaurou nada. Nesse caso, alguém pode estar se passando pela VPS no caminho da conexão (o ataque chamado man-in-the-middle). Teste de outra rede, como o 4G do celular, e compare a identificação mostrada no terminal com a do Console SSH (ssh-keygen -lf /etc/ssh/ssh_host_ed25519_key.pub).

Como resolver: não rode o ssh-keygen -R e não digite a senha. Se o aviso some em outra rede, o problema está na rede de onde você conectou (por exemplo, um Wi-Fi público). Se a identificação no Console SSH é diferente da que você conhecia e ninguém mexeu na VPS, trate como possível invasão: abra um chamado no Suporte antes de continuar.

Quando chamar o Suporte

Na VPS, você tem acesso root e cuida do que instala; o suporte da StayCloud cuida da infraestrutura: a VPS ligada, a rede e o painel. Veja "Perguntas frequentes sobre o que o suporte da StayCloud faz". Abra um chamado se o aviso aparece sem que você tenha reinstalado, trocado de VPS ou mexido nas chaves.

No chamado, informe o IP da VPS ou o nome dela no painel, o horário, a mensagem completa do aviso (a identificação SHA256: não é secreta e pode ir no chamado), de qual rede você conectou e o resultado do ssh-keygen -lf no Console SSH. Nunca mande senha nem chave privada. O passo a passo está em "Como abrir um chamado no Suporte".

Relacionados

  • Como acessar sua VPS por SSH pelo terminal (Linux, Windows e Mac)
  • Como acessar sua VPS pelo Console SSH do painel
  • Como reinstalar o sistema operacional da VPS pelo painel
  • Como ver os IPs e a rede da VPS pelo painel
  • Perguntas frequentes sobre o que o suporte da StayCloud faz
  • Como abrir um chamado no Suporte
Este artigo ajudou?

Viu algo errado ou desatualizado?