Conexão SSH: ssh_exchange_identifcation

8

Eu tenho me conectado a um servidor remoto através do meu Mac há cerca de um mês. No entanto, recentemente, tentei conectar usando     ssh dylan @ MY_IP e recebi esta mensagem.

ssh_exchange_identification: read: Connection reset by peer

Eu também tenho algumas informações de diagnóstico ...

debug1: Reading configuration data /etc/ssh_config
debug1: /etc/ssh_config line 20: Applying options for *
debug1: /etc/ssh_config line 53: Applying options for *
debug2: ssh_connect: needpriv 0
debug1: Connecting to {MY IP{ [MY IP] port 22.
debug1: Connection established.
debug1: identity file /Users/watson/.ssh/id_rsa type -1
debug1: identity file /Users/watson/.ssh/id_rsa-cert type -1
debug3: Incorrect RSA1 identifier
debug3: Could not load "/Users/watson/.ssh/id_dsa" as a RSA1 public key
debug1: identity file /Users/watson/.ssh/id_dsa type 2
debug1: identity file /Users/watson/.ssh/id_dsa-cert type -1
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_6.2

Depois de fazer algumas pesquisas, tentei o seguinte ...

  1. Reiniciei meu roteador
  2. Limpou meu arquivo "known_hosts"
  3. Excluído meu arquivo "known_hosts"
  4. Lançado & Renovei meu DHCP
  5. Eu também tentei de outro dispositivo (Windows) usando o Putty com um erro também

Observe que não fiz alterações no servidor para inibir essa comunicação.

Além disso, não tenho certeza se isso causaria problemas, mas eu me conectei a ele pelo nome de domínio e pelo IP.

Além disso, consegui me conectar com sucesso de outro endereço IP.

Eu sei que esse é um grande problema com muitos recursos, mas muitas soluções não funcionaram nem eu realmente vi nenhum tipo de resolução para ninguém.

Atualizar

Eu o forcei para o protocolo 1. Em vez de "Connection reset by peer", agora eu recebo "Connection closed by remote host". Executando com informações de depuração reveladas:

debug1: Reading configuration data /etc/ssh_config
debug1: /etc/ssh_config line 20: Applying options for *
debug1: /etc/ssh_config line 53: Applying options for *
debug2: ssh_connect: needpriv 0
debug1: Connecting to MY_IP [MY_IP] port 22.
debug1: Connection established.
debug1: identity file /Users/watson/.ssh/identity type -1
debug1: identity file /Users/watson/.ssh/identity-cert type -1
ssh_exchange_identification: Connection closed by remote host
    
por Dylan 20.12.2013 / 08:24

5 respostas

4

Foi assim que resolvi o erro "ssh_exchange_identification: Conexão fechada pelo host remoto" ao conectar-se a um servidor SSH.

Eu recebi esse erro ao tentar conectar-me a uma máquina Linux embarcada, depois de descompactar um pacote para o root. Muitos arquivos de biblioteca foram substituídos, incluindo libssl.

Tentando se conectar:

chetic@ubuntu:~$ ssh -v [email protected]
OpenSSH_6.2p2 Ubuntu-6ubuntu0.3, OpenSSL 1.0.1e 11 Feb 2013
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 19: Applying options for *
debug1: Connecting to SC [192.168.1.100] port 22.
debug1: Connection established.
debug1: identity file /home/delaval/.ssh/id_rsa type 1
debug1: Checking blacklist file /usr/share/ssh/blacklist.RSA-2048
debug1: Checking blacklist file /etc/ssh/blacklist.RSA-2048
debug1: identity file /home/delaval/.ssh/id_rsa-cert type -1
debug1: identity file /home/delaval/.ssh/id_dsa type -1
debug1: identity file /home/delaval/.ssh/id_dsa-cert type -1
debug1: identity file /home/delaval/.ssh/id_ecdsa type -1
debug1: identity file /home/delaval/.ssh/id_ecdsa-cert type -1
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_6.2p2 Ubuntu-6ubuntu0.3
ssh_exchange_identification: read: Connection reset by peer
O parecia apenas sugerir a verificação de hosts.deny e hosts.allow, mas minha máquina de destino não tinha tais arquivos.

Após uma reinicialização (conforme a sugestão de Karthik), o sshd não estava em execução. Eu tentei iniciar manualmente o sshd no destino:

# sshd
OpenSSL version mismatch. Built against 1000002f, you have 1000105f

Eu substituí o /usr/lib/libssl.a pela versão original e iniciei o sshd e as coisas voltaram ao normal. O problema foi no meu caso causado por uma versão incorreta no pacote que eu originalmente descompactei para root.

    
por 28.04.2014 / 10:26
2

Eu estava recebendo o mesmo erro (mas de qualquer máquina, incluindo a máquina problemática via ssh localhost ).

Começou quando migrei um perfil de usuário; ou seja, depois de copiar os arquivos como root, em seguida, fez comandos como chown -R username /Users/username/Destop

de qualquer forma, totalmente inseguro porque o / var / empty owner foi alterado para nome de usuário, mas ssh definitivamente precisa de /var/empty para ser de propriedade de root (caso contrário você obterá ssh_exchange_identification: read: Connection reset by peer ):

    sudo chown root /var/empty
    
por 04.05.2018 / 18:13
1

Este não é um problema com sua máquina local, mas um problema no lado do servidor. Pode haver múltiplos fatores causando esse problema:

  1. Alterações na configuração /etc/hosts.allow ou /etc/hosts.deny no servidor remoto.
  2. Carga de servidor pesada.

No passado, quando tive esses problemas, fiz uma de duas coisas, na seguinte ordem:

  1. Modifique o /etc/hosts.allow conforme mencionado no artigo acima. (e reinicie o servidor SSH)
  2. Se /etc/hosts.allow já estiver como deve ser, basta reiniciar o servidor SSH (e tenha cuidado ao fazer isso!)
  3. Se a reinicialização não funcionar, gere novamente as chaves do servidor e reinicie o servidor SSH (isso é arriscado, já que todos os usuários que efetuaram login nesta máquina receberão um erro sobre a alteração do servidor)

Freqüentemente, eu resolvo o problema, mas eu tive que fazer 2 em alguns casos. Eu não fui capaz de descobrir por que esse é o caso, só que isso funcionou. Talvez tenha algo a ver com a forma como a chave é apresentada, ou talvez tenha sido corrompida de alguma forma - não tenho certeza. Mas o que eu sei é que o erro é inteiramente algo a ver com o servidor, e a maneira como o handshake acontece quando a conexão SSH está sendo definida.

    
por 26.12.2013 / 03:34
1

Eu tinha o SSH configurado com o Cygwin e, no meu caso, foi o firewall do Windows que causou exatamente esse erro, por isso, certifique-se de permitir conexões para a porta 22.

    
por 27.03.2015 / 13:26
0

Consegui resolver esse problema comigo mesmo com facilidade.

No OS X normal, você pode resolver isso simplesmente alternando "Login Remoto" em Preferências do Sistema / Compartilhamento.

No entanto, se for um servidor sem cabeçalho (como no meu caso), você pode usar o aplicativo OSX Server para ir para (nome do servidor) / Configurações e ativar "Ativar e desativar as conexões de shell seguro"

    
por 12.01.2016 / 16:55

Tags