У меня действительно неприятная проблема на моем ноутбуке с Ubuntu.
Я заметил это сегодня, после обновления до Ubuntu 11.04, хотя я не совсем уверен, что это причина, поскольку несколько дней назад я играл со своими ключами ssh.
Проблема в том, что всякий раз, когда я пытаюсь установить ssh на ЛЮБОЙ хост, я получаю следующую ошибку:
Read from socket failed: Connection reset by peer
запуск с -vvv дает следующий результат:
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
Мой / etc / ssh / ssh_config:
Host *
SendEnv LANG LC_*
HashKnownHosts yes
GSSAPIAuthentication no
GSSAPIDelegateCredentials no
Я могу подключиться к своему ноутбуку с любого другого сервера через ssh, а также могу успешно использовать ssh localhost со своего ноутбука.
Я могу подключиться ко всем этим другим серверам с других ноутбуков, и я не вижу ничего в журналах других серверов относительно моей неудачной попытки.
Пытался остановить iptables, не помогло.
Я попробовал несколько уловок, которые мог найти в Интернете с помощью моего / etc / ssh / ssh_config, но мне не удалось решить проблему ...
Любые идеи?
Изменить: это журнал одного из хостов, к которому я пытаюсь подключиться:
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
Это сложно отладить в openssh, похоже, это происходит только от определенных клиентов к конкретным серверам.
Причина? Я не дошел до основной причины. Мой лучший вывод заключается в том, что пакеты подключения слишком велики для сервера, и соединение сбрасывается.
Обходные пути: ограничьте размер пакета. Две альтернативы:
HostKeyAlgorithms ssh-rsa-cert-v01 @ openssh.com, ssh-dss-cert-v01 @ openssh.com, ssh-rsa-cert-v00 @ openssh.com, ssh-dss-cert-v00 @ openssh.com, ecdsa -sha2-nistp256, ecdsa-sha2-nistp384, ecdsa-sha2-nistp521, ssh-rsa, ssh-dss
URL:
Затронутые версии: AFAIK это началось с 5.7p1. Переход на 5.5p1 решает проблему. Однако на машинах, у которых нет этой проблемы, 5.7p1, 5.8p1 работают отлично. Таким образом, я предполагаю, что это связано с невинным вызовом библиотеки, который был добавлен на 5.7p1 в стороннюю библиотеку, которая не работает только в определенных средах. Безумное предположение к безумному багу.
Это сработало для меня:
Мой /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
Это связано с тем, что пакеты подключения слишком велики для обработки сервером, и соединение сбрасывается. Вы можете поместить конфигурацию Chippers в /etc/ssh/ssh_config
... так что просто попробуйте с ssh -l username hotname
нет необходимости в -c aes256-ctr
больше.
Я обнаружил, что эта ошибка возникает, когда я был на определенном Wi-Fi-соединении. Когда я перешел на другой Wi-Fi, ошибка исчезла. Странно, но реально: - /