Ao usar o servidor SSH, um dos erros comuns que você encontrará é “A verificação da chave do host falhou”. Para entender por que esse erro ocorre, vamos primeiro entender como o SSH estabelece uma conexão.
Quando você tenta se conectar a um servidor remoto, o servidor pede que você confirme se está tentando estabelecer conexão com o servidor certo.
Se você digitar "sim", o cliente adicionará a chave do host público ao ““.ssh/conhecido_hosts ” arquivo. Depois que a chave do servidor remoto for adicionada, na próxima vez que você tentar se conectar ao mesmo servidor, o cliente comparará as chaves com as teclas armazenadas no “Conhecido_hosts” arquivo.
Você não será rápido com nenhum aviso se a chave estiver presente no “Conhecido_hosts” arquivo. O servidor será conectado imediatamente.
Por que o erro “Falha na verificação da chave do host” ocorre
A principal razão pela qual causa o erro de "verificação da chave do host" é que a chave do host remoto foi alterada e não é mais a mesma que armazenado no “Conhecido_hosts” arquivo. A chave geralmente muda quando os servidores são reconstruídos e você recebe um erro como mostrado abaixo:
Como consertar o “A verificação da chave do host falhou” Erro
Para corrigir esse erro, precisamos excluir a chave ofensiva do “Conhecido_hosts” arquivo presente em nosso sistema em ““.ssh ” diretório. O erro fornece o endereço IP do servidor remoto e o número da linha em que a chave é armazenada no “Conhecido_hosts” arquivo.
No erro acima, “/Home/Usuário/.ssh/conhecido_hosts: 7 ”, o “: 7” é o número da linha ofensiva. Múltiplas abordagens para corrigir este erro estão listadas abaixo:
Método 1:
O primeiro método para corrigir este erro é usar o "Sed" comando. O "Sed" O comando é usado para modificar os arquivos de texto para pesquisar, adicionar ou excluir algo dos arquivos. Estamos usando -o para excluir o host ofensivo:
$ sed -i '7d' ~.ssh/conhecido_hosts
Onde "7" é o número da linha mostrado no erro acima, o número da sua linha pode ser diferente; Certifique -se de usar o número da linha correto. O comando excluirá a linha ofensiva do “Conhecido_hosts” Arquive e resolva o problema.
Método 2:
A segunda abordagem é abrir o “Conhecido_hosts” Arquivo em qualquer editor:
$ nano .ssh/conhecido_hosts
E exclua manualmente a linha ofensiva e salve o arquivo.
Método 3:
O terceiro método é remover o servidor usando o “SSH-keygen” comando. Siga a sintaxe mencionada abaixo:
$ ssh -keygen -r [ip_address]
Por exemplo, para remover a chave do host de “192.168.10.116 ”, usar:
$ ssh -keygen -r 192.168.10.116
Conclusão
O erro de verificação da chave do host ocorre quando a chave do servidor remoto muda e o cliente não o verifica das teclas armazenadas. As chaves do servidor são armazenadas no “Conhecido_hosts” Arquivo no lado do cliente e, ao estabelecer a conexão, o cliente verifica a chave comparando-a com as teclas armazenadas no “Conhecido_host” Arquivo e, após falhar, você recebe um “A verificação da chave do host falhou” erro.
Para corrigir isso, remova o host ofensivo do “Conhecido_hosts” arquivo. Este guia mencionou três métodos diferentes para remover o host ofensivo e qualquer método pode ser usado para resolver este erro.