Este tópico descreve as causas e soluções para o erro "Host key verification failed" ao conectar-se a uma instância Linux do ECS via SSH.
Sintomas
-
Ao conectar-se a uma instância Linux do ECS via SSH a partir de um cliente Linux ou macOS, você recebe a seguinte mensagem de erro:
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ 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 ae:6e:68:4c:97:a6:91:81:11:38:8d:64:ff:92:13:50. Please contact your system administrator. Add correct host key in /root/.ssh/known_hosts to get rid of this message. Offending key in /root/.ssh/known_hosts:70 RSA host key for x.x.x.x has changed and you have requested strict checking. Host key verification failed. -
Ao usar um cliente SSH, como PuTTY ou MobaXterm, em um cliente local Windows para conectar-se a uma instância Linux do ECS, você recebe uma mensagem de erro como "The host key does not match the one PuTTY has cached for this server" ou "remote server identification has changed".
O PuTTY exibe uma caixa de diálogo de aviso de segurança WARNING - POTENTIAL SECURITY BREACH!. O tipo de chave é ssh-ed25519. Clique em Accept, Connect Once ou Cancel.
A caixa de diálogo de aviso do MobaXterm oferece três opções: Accept the new server hostkey and carry on connecting, Refuse the new server hostkey and abort the connection e Accept and save as additional hostkey (keep the existing ones).
Causa
Esse erro ocorre quando a chave pública SSH da instância do ECS é alterada. Isso pode acontecer após a reinstalação do sistema operacional ou a alteração das informações da conta. Como resultado, a impressão digital da chave pública salva no cliente local não corresponde mais à do servidor, o que aciona o aviso de segurança.
Solução
A solução depende do sistema operacional do cliente local.
Cliente local: Windows
Esta seção usa PuTTY e MobaXterm como exemplos. As etapas podem variar para outros clientes SSH.
Se você usar o PuTTY, clique em Accept. O PuTTY atualiza automaticamente a impressão digital da chave pública em cache, e você pode fazer login na instância.
Se você usar o MobaXterm, clique em Accept the new server hostkey and carry on connecting. O MobaXterm atualiza automaticamente a impressão digital da chave pública em cache, e você pode fazer login na instância.
Cliente local: Linux ou macOS
-
No cliente local, execute o seguinte comando para abrir o arquivo
known_hostsda sua conta de usuário:vim ~/.ssh/known_hosts -
Pressione
ipara entrar no modo de inserção. -
Exclua a entrada correspondente ao endereço IP da instância do ECS, conforme o exemplo a seguir:
39.105. ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBEPMCfKNtd5Pkjp4A+ocwNzeTN fLNrUf3a0EfqXj4X4URJMPEzEl94ftuA7ZltOM0cAMkeZzOql ~ -
Pressione a tecla
Esc, digite:wqe pressione Enter para salvar o arquivo e sair. -
Reconecte-se à instância Linux do ECS para verificar se a conexão foi bem-sucedida.