Eu tenho um servidor Linux que, sempre que eu conecto, mostra a mensagem que mudou a chave do host SSH:
$ Raiz ssh @ host1 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@ AVISO: A IDENTIFICAÇÃO DO HOST REMOTA FOI MUDADA! @ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@ É POSSÍVEL QUE ALGUÉM ESTÁ FAZENDO ALGO DESAGRADÁVEL! Alguém pode estar te espionando agora (ataque man-in-the-middle)! Também é possível que a chave do host RSA tenha sido alterada. A impressão digital da chave RSA enviada pelo host remoto é 93: a2: 1b: 1c: 5f: 3e: 68: 47: bf: 79: 56: 52: f0: ec: 03: 6b. Entre em contato com o administrador do sistema. Adicione a chave do host correta em /home/emerson/.ssh/known_hosts para se livrar dessa mensagem. Chave incorreta em /home/emerson/.ssh/known_hosts:377
A chave do host RSA para o host1 foi alterada e você solicitou uma verificação estrita. Falha na verificação da chave do host.
Ele me mantém por alguns segundos conectados e depois fecha a conexão.
host1: ~ / .ssh # Ler do host remoto host1: Redefinição de conexão pelo ponto A conexão com o host1 foi fechada.
Alguém sabe o que está acontecendo e o que eu poderia fazer para resolver esse problema?
Respostas:
Por favor, não exclua todo o arquivo known_hosts, conforme recomendado por algumas pessoas, isso anula totalmente o objetivo do aviso. É um recurso de segurança para avisar que um homem no meio do ataque pode ter acontecido.
Sugiro que você identifique por que ele acha que algo mudou, provavelmente uma atualização do SSH alterou as chaves de criptografia devido a uma possível falha de segurança. Você pode remover essa linha específica do seu arquivo known_hosts:
Este d eletes linha 377 como mostrado depois do cólon no aviso:
Como alternativa, você pode remover a chave relevante fazendo o seguinte
NÃO limpe o arquivo inteiro e verifique se esta é realmente a máquina à qual você deseja se conectar antes de limpar a chave específica.
fonte
Acho que, embora algumas das respostas aqui abordem o curso de ação recomendado na pergunta do OP, ela não responde totalmente à pergunta.
A pergunta declara "Como remover a verificação estrita de chave RSA no SSH e qual é o problema aqui?"
O problema aqui é, como recomendado por alguns outros, uma alteração no host provavelmente devido à reinstalação do servidor (cenário mais comum). E a solução recomendada é realmente remover a chave incorreta do arquivo .ssh / allowed_keys com um sed embutido.
No entanto, eu não vi nenhuma resposta abordar a parte específica da pergunta " Como remover a verificação estrita de chave RSA no SSH ".
Você pode remover a verificação do StrictHostKey no seu arquivo de configuração ssh, normalmente armazenado em
~/.ssh/config
.Um exemplo de bloco Host é fornecido abaixo:
A linha especificamente adicionada é a última
StrictHostKeyChecking no
que faz exatamente isso. Dependendo do seu cenário específico, isso pode ser útil para você, como executar vários contêineres virtualizados em um servidor dedicado, em apenas alguns ips, parar e iniciar outra instância no mesmo ip.fonte
Outra maneira de remover StrictHostKeyChecking, quando você só precisa fazer isso para um único servidor:
fonte
Primeiro de tudo, esta é a sua máquina? Você mudou conscientemente as chaves do host? Caso contrário, eu ficaria muito preocupado com o fato de algo ter alterado esses dados.
Em segundo lugar, aumente a depuração ssh,
e veja o que isso indica, tente também procurar / var / log / secure e / var / log / messages no servidor ao qual você está tentando se conectar para obter pistas, o sshd fornece boas mensagens de erro.
Em terceiro lugar, esta máquina está conectada à Internet? Você realmente deveria permitir logins raiz?
fonte
Você está recebendo isso porque algo mudou (como nova NIC, novo IP, alteração no software do servidor etc.). O foco de segurança tem um bom artigo sobre proteção de chave de host SSH .
Apenas remova a chave (usando SFTP ou similar) do servidor, editando o
$HOME/.ssh/known_hosts
arquivo e aceite a nova na próxima conexão.Sua conexão pode estar caindo devido à configuração StrictHostKeyChecking. Veja este tópico para um problema semelhante.
fonte
Como o 'host' [definido em termos gerais, pode ser tudo, de uma reinstalação / inicialização múltipla a um computador totalmente diferente com um endereço IP ao qual você se conectou antes, por exemplo] parece que o cliente ssh mudou, está fornecendo a você erro.
Não é necessário desativar a verificação rigorosa, nem é sensível a exclusão por atacado de chaves salvas.
É bem possível ter duas chaves diferentes listadas em known_hosts para um nome de host ou endereço IP específico; fornecendo a você duas alternativas, conforme você acha que pode precisar da chave 'antiga' que está atualmente armazenada em
Exclua a chave específica à qual está se referindo, em l377 de known_hosts para o OP, ou mantenha ambos
A maneira mais simples de manter os dois, evitando a exclusão de chaves em known_hosts, é
mais respostas em "Adicionar chave de host correta emhos_conhecidos" / várias chaves de host ssh por nome de host?
fonte