AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / server / Perguntas / 6233
Accepted
setatakahashi
setatakahashi
Asked: 2009-05-09 03:34:43 +0800 CST2009-05-09 03:34:43 +0800 CST 2009-05-09 03:34:43 +0800 CST

Como remover a verificação estrita de chave RSA no SSH e qual é o problema aqui?

  • 772

Tenho um servidor Linux que sempre que conecto me mostra a mensagem que alterou a chave do host SSH:

$ ssh root@host1 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@ @ AVISO: A IDENTIFICAÇÃO DO HOST REMOTO MUDOU! @ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@ É POSSÍVEL QUE ALGUÉM ESTÁ FAZENDO ALGO DESAGRADÁVEL! Alguém pode estar espionando você agora (ataque man-in-the-middle)! Também é possível que a chave do host RSA tenha acabado de ser 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 de host correta em /home/emerson/.ssh/known_hosts para se livrar desta mensagem. Chave incorreta em /home/emerson/.ssh/known_hosts:377

A chave de host RSA para host1 foi alterada e você solicitou uma verificação rigorosa. Falha na verificação da chave do host.

Ele me mantém por alguns segundos logado e depois fecha a conexão.

host1:~/.ssh # Leitura do host remoto host1: Conexão redefinida pelo peer Conexão com host1 fechada.

Alguém sabe o que está acontecendo e o que posso fazer para resolver esse problema?

security ssh rsa man-in-the-middle hostkey
  • 6 6 respostas
  • 182128 Views

6 respostas

  • Voted
  1. Best Answer
    Adam Gibbins
    2009-05-09T03:47:52+08:002009-05-09T03:47:52+08:00

    Por favor, não exclua todo o arquivo known_hosts como recomendado por algumas pessoas, isso anula totalmente o ponto do aviso. É um recurso de segurança para avisá-lo de que um ataque de homem no meio pode ter acontecido.

    Sugiro que você identifique por que ele acha que algo mudou, provavelmente uma atualização de SSH alterou as chaves de criptografia devido a uma possível falha de segurança. Você pode então limpar essa linha específica do seu arquivo known_hosts:

    sed -i 377d ~/.ssh/known_hosts
    

    Isso exclui a linha 377 conforme mostrado após os dois pontos no aviso:

    /home/emerson/.ssh/known_hosts:377

    Alternativamente, você pode remover a chave relevante fazendo o seguinte

    ssh-keygen -R 127.0.0.1 (obviously replace with the server's IP)
    

    Por favor, NÃO limpe o arquivo inteiro e certifique-se de que esta seja realmente a máquina à qual você deseja se conectar antes de limpar a chave específica.

    • 89
  2. Joel G Mathew
    2013-08-16T08:38:41+08:002013-08-16T08:38:41+08:00

    Acho que, embora algumas das respostas aqui abordem o curso de ação recomendado na pergunta do OP, isso não responde totalmente à pergunta.

    A pergunta afirma "Como remover a verificação estrita de chave RSA no SSH e qual é o problema aqui?"

    O problema aqui é, como aconselhado por alguns outros, uma mudança 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/authorized_keys com um sed embutido.

    No entanto, não vi nenhuma resposta abordando a parte específica da pergunta " Como remover a verificação estrita de chave RSA no SSH ".

    Você pode remover a verificação StrictHostKey em seu arquivo de configuração ssh, normalmente armazenado em ~/.ssh/config.

    Um exemplo de bloco Host é fornecido abaixo:

    Host 101
      HostName yourip|hostname
      User youruserid
      IdentityFile /path/to/keyfile
      Port 22
      StrictHostKeyChecking no
    

    A linha especificamente adicionada é a última StrictHostKeyChecking noque 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.

    • 34
  3. Greg Dougherty
    2013-10-11T08:17:11+08:002013-10-11T08:17:11+08:00

    Outra maneira de remover StrictHostKeyChecking, quando você só precisa fazer isso para um único servidor:

    ssh <server> -o StrictHostKeyChecking=no
    
    • 16
  4. Dave Cheney
    2009-05-10T06:51:53+08:002009-05-10T06:51:53+08:00

    Em primeiro lugar, esta é a sua máquina? Você alterou conscientemente as chaves do host? Se não, eu ficaria muito preocupado que algo tenha alterado esses dados.

    Em segundo lugar, ative a depuração ssh,

    ssh -vvv user@host
    

    e veja o que isso lhe diz, também tente procurar em /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 de root?

    • 6
  5. user1797
    2009-05-09T03:41:12+08:002009-05-09T03:41:12+08:00

    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 .

    Basta remover a chave (usando SFTP ou similar) do servidor, editando o $HOME/.ssh/known_hostsarquivo, e aceitar 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.

    • 3
  6. Mark
    2015-06-06T05:26:48+08:002015-06-06T05:26:48+08:00

    Como o 'host' [definido de forma ampla, pode ser tudo, desde 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á dando a você a erro.

    Não é necessário desativar a verificação estrita, nem é sensato a exclusão em massa de chaves salvas.

    É bem possível ter duas chaves diferentes listadas em known_hosts para um determinado nome de host ou endereço IP; dando-lhe 2 alternativas de acordo com se você acha que pode precisar da chave 'antiga' que está atualmente armazenada em known_hosts

    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 ambos, evitando a exclusão de chaves em known_hosts, é

    1. Edite known_hosts para adicionar # no início da entrada 'antiga' referenciada em known_hosts [@l377] temporariamente
    2. Conecte [ssh ao host], concorde com o prompt para adicionar a nova chave 'automaticamente'
    3. Em seguida, reedite known_hosts para remover o #

    mais respostas em "Adicionar chave de host correta em known_hosts" / várias chaves de host ssh por nome de host?

    • 3

relate perguntas

  • Protegendo um novo servidor Ubuntu [fechado]

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Ping uma porta específica

    • 18 respostas
  • Marko Smith

    Qual porta o SFTP usa?

    • 6 respostas
  • Marko Smith

    Resolver o nome do host do endereço IP

    • 8 respostas
  • Marko Smith

    Como posso classificar a saída du -h por tamanho

    • 30 respostas
  • Marko Smith

    Linha de comando para listar usuários em um grupo do Windows Active Directory?

    • 9 respostas
  • Marko Smith

    Qual é o utilitário de linha de comando no Windows para fazer uma pesquisa reversa de DNS?

    • 14 respostas
  • Marko Smith

    Como verificar se uma porta está bloqueada em uma máquina Windows?

    • 4 respostas
  • Marko Smith

    Qual porta devo abrir para permitir a área de trabalho remota?

    • 9 respostas
  • Marko Smith

    O que é um arquivo Pem e como ele difere de outros formatos de arquivo de chave gerada pelo OpenSSL?

    • 3 respostas
  • Marko Smith

    Como determinar se uma variável bash está vazia?

    • 15 respostas
  • Martin Hope
    Davie Ping uma porta específica 2009-10-09 01:57:50 +0800 CST
  • Martin Hope
    MikeN No Nginx, como posso reescrever todas as solicitações http para https mantendo o subdomínio? 2009-09-22 06:04:43 +0800 CST
  • Martin Hope
    Tom Feiner Como posso classificar a saída du -h por tamanho 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    0x89 Qual é a diferença entre colchetes duplos e simples no bash? 2009-08-10 13:11:51 +0800 CST
  • Martin Hope
    kch Como altero a senha da minha chave privada? 2009-08-06 21:37:57 +0800 CST
  • Martin Hope
    Kyle Brandt Como funciona a sub-rede IPv4? 2009-08-05 06:05:31 +0800 CST
  • Martin Hope
    Noah Goodrich O que é um arquivo Pem e como ele difere de outros formatos de arquivo de chave gerada pelo OpenSSL? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent Como determinar se uma variável bash está vazia? 2009-05-13 09:54:48 +0800 CST

Hot tag

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve