ssh problema do cliente: Conexão redefinida pelo par [fechado]

7

Estou tendo um problema muito chato no meu laptop Ubuntu.

Eu percebi isso hoje, depois de atualizar para o Ubuntu 11.04, embora eu não tenha certeza se essa é a causa que eu toquei com as minhas chaves ssh alguns dias atrás.

O problema é que, sempre que eu tento ssh em QUALQUER host, recebo o seguinte erro:

Read from socket failed: Connection reset by peer

a execução com -vvv fornece a seguinte saída:

OpenSSH_5.8p1 Debian-1ubuntu3, OpenSSL 0.9.8o 01 Jun 2010
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: Applying options for *
debug2: ssh_connect: needpriv 0
debug1: Connecting to hostname [10.0.0.2] port 22.
debug1: Connection established.
debug1: permanently_set_uid: 0/0
debug1: identity file /root/.ssh/id_rsa type -1
debug1: identity file /root/.ssh/id_rsa-cert type -1
debug1: identity file /root/.ssh/id_dsa type -1
debug1: identity file /root/.ssh/id_dsa-cert type -1
debug1: identity file /root/.ssh/id_ecdsa type -1
debug1: identity file /root/.ssh/id_ecdsa-cert type -1
debug1: Remote protocol version 1.99, remote software version OpenSSH_4.2
debug1: match: OpenSSH_4.2 pat OpenSSH_4*
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_5.8p1 Debian-1ubuntu3
debug2: fd 3 setting O_NONBLOCK
debug3: load_hostkeys: loading entries for host "hostname" from file "/root/.ssh/known_hosts"
debug3: load_hostkeys: loaded 0 keys
debug1: SSH2_MSG_KEXINIT sent
Read from socket failed: Connection reset by peer

Meu / etc / ssh / ssh_config:

Host *
    SendEnv LANG LC_*
    HashKnownHosts yes
    GSSAPIAuthentication no
    GSSAPIDelegateCredentials no

Eu posso conectar ao meu laptop de qualquer outro servidor via ssh, e também posso ssh localhost do meu laptop com sucesso.

Eu posso me conectar a todos esses outros servidores de outros laptops, e não vejo nada nos registros dos outros servidores em relação à minha tentativa com falha.

Eu tentei parar o iptables, não ajudei.

Eu tentei vários truques que pude encontrar on-line com meu / etc / ssh / ssh_config, mas não consegui resolver o problema ...

Alguma idéia?

Editar: Este é o log de um dos hosts que eu tento conectar:

May  1 19:15:23 localhost sshd[2845]: debug1: Forked child 2847.
May  1 19:15:23 localhost sshd[2845]: debug3: send_rexec_state: entering fd = 8 config len 577
May  1 19:15:23 localhost sshd[2845]: debug3: ssh_msg_send: type 0
May  1 19:15:23 localhost sshd[2845]: debug3: send_rexec_state: done
May  1 19:15:23 localhost sshd[2847]: debug1: rexec start in 5 out 5 newsock 5 pipe 7 sock 8
May  1 19:15:23 localhost sshd[2847]: debug1: inetd sockets after dupping: 3, 3
May  1 19:15:23 localhost sshd[2847]: Connection from 10.0.0.7 port 55747
May  1 19:15:23 localhost sshd[2847]: debug1: Client protocol version 2.0; client software version OpenSSH_5.8p1 Debian-1ubuntu3
May  1 19:15:23 localhost sshd[2847]: debug1: match: OpenSSH_5.8p1 Debian-1ubuntu3 pat OpenSSH*
May  1 19:15:23 localhost sshd[2847]: debug1: Enabling compatibility mode for protocol 2.0
May  1 19:15:23 localhost sshd[2847]: debug1: Local version string SSH-2.0-OpenSSH_5.3
May  1 19:15:23 localhost sshd[2847]: debug2: fd 3 setting O_NONBLOCK
May  1 19:15:23 localhost sshd[2847]: debug2: Network child is on pid 2848
May  1 19:15:23 localhost sshd[2847]: debug3: preauth child monitor started
May  1 19:15:23 localhost sshd[2847]: debug3: mm_request_receive entering
May  1 19:15:23 localhost sshd[2848]: debug3: privsep user:group 74:74
May  1 19:15:23 localhost sshd[2848]: debug1: permanently_set_uid: 74/74
May  1 19:15:23 localhost sshd[2848]: debug1: list_hostkey_types: ssh-rsa,ssh-dss
May  1 19:15:23 localhost sshd[2848]: debug1: SSH2_MSG_KEXINIT sent
May  1 19:15:23 localhost sshd[2848]: debug3: Wrote 784 bytes for a total of 805
May  1 19:15:23 localhost sshd[2848]: fatal: Read from socket failed: Connection reset by peer
    
por yonix 01.05.2011 / 18:26

3 respostas

8

Isso é difícil de depurar no openssh, parece acontecer apenas de clientes específicos para servidores específicos.

  1. Porque? Eu não cheguei à causa raiz. Minha melhor descoberta é que os pacotes de conexão são grandes demais para o servidor manipular, e a conexão é redefinida.

  2. Soluções alternativas: limite o tamanho do pacote. Duas alternativas:

  3. URLs:

    • Bug do Ubuntu: link
    • Meu tópico na lista openssh-unix-dev: link
  4. Versões afetadas: AFAIK começou com 5.7p1. O downgrade para 5.5p1 resolve o problema. No entanto, em máquinas que não têm esse problema, 5.7p1, 5.8p1 funcionam perfeitamente. Assim, minha suposição é que isso tem a ver com uma chamada de biblioteca inocente que foi incluída no 5.7p1 para uma biblioteca de terceiros, que é quebrada apenas em determinados ambientes. Suposição maluca para um bug maluco.

por 02.05.2011 / 10:54
1

Isso funcionou para mim:

Meu /etc/ssh/ssh_config :

Host *

SendEnv LANG LC_*

HashKnownHosts yes

GSSAPIAuthentication yes

GSSAPIDelegateCredentials no

Ciphers aes128-ctr,aes192-ctr,aes256-ctr,arcfour256,arcfour128,aes128-cbc,3des-cbc

Isso porque os pacotes de conexão são grandes demais para o servidor, e a conexão é redefinida. Você pode colocar a configuração do Chipper em /etc/ssh/ssh_config ... então tente com ssh -l username hotname não há mais necessidade de -c aes256-ctr .

    
por 21.06.2011 / 22:15
-1

Eu encontrei este erro para ocorrer quando eu estava em uma conexão wifi específica. Quando mudei para um wifi diferente, o erro foi embora. Estranho, mas real: - /

    
por 03.12.2013 / 02:15

Tags