Вопрос или проблема
Я использую PuTTY для подключения двух ПК с Ubuntu. Одно подключение работает нормально, а другое постоянно выдает ошибку удаленная сторона неожиданно закрыла сетевое соединение. Я сравнил логи SSH и необработанные данные между этими двумя подключениям. Ниже приведены различия между успешным и неудачным подключением.
—-успешное сообщение——
Входящий пакет #0x3, тип 6 / 0x06 (SSH2_MSG_SERVICE_ACCEPT)
00000000 00 00 00 0c 73 73 68 2d 75 73 65 72 61 75 74 68 ....ssh-userauth
Исходящий пакет #0x4, тип 50 / 0x32 (SSH2_MSG_USERAUTH_REQUEST)
00000000 00 00 00 04 72 6f 6f 74 00 00 00 0e 73 73 68 2d ....root....ssh-
00000010 63 6f 6e 6e 65 63 74 69 6f 6e 00 00 00 04 6e 6f connection....no
00000020 6e 65 ne
Исходные необработанные данные на 2019-06-06 10:51:13
00000000 25 9a a1 ae cc ed c4 a5 7d e6 bc 7f ac be 9d 03 %.......}.......
00000010 2b bd 85 35 c9 7d 60 66 c5 82 6a 45 12 19 55 ba +..5.}`f..jE..U.
00000020 7a 44 03 f9 12 00 f2 97 df 5e db 9e 36 ee 5f d8 zD.......^..6._.
00000030 17 e8 54 15 19 36 ba 0f 48 8b eb 27 51 63 f8 00 ..T..6..H..'Qc..
00000040 8f 91 b8 64 b1 0e 84 71 3e f1 0d 5e 16 0f f2 5b ...d...q>..^...[
Входящие необработанные данные на 2019-06-06 10:51:33
00000000 a7 9b 40 c1 40 b8 4a 2e 8c c7 13 1e 9f 73 d4 bf ..@[email protected]..
00000010 b1 13 12 2d dc 85 b5 b1 c6 d1 f2 58 e7 b9 e3 9b ...-.......X....
00000020 36 e6 4f 5d 7e 9c e1 fe b1 04 45 14 2a 38 a8 88 6.O]~.....E.*8..
00000030 28 51 e4 ff d3 d1 a5 14 9d 39 e1 46 72 d7 0b fa (Q.......9.Fr...
00000040 80 5d f7 f2 b2 f0 19 c2 d2 40 b0 70 84 03 f5 fe .][email protected]....
—–неудачно——
Входящий пакет #0x3, тип 6 / 0x06 (SSH2_MSG_SERVICE_ACCEPT)
00000000 00 00 00 0c 73 73 68 2d 75 73 65 72 61 75 74 68 ....ssh-userauth
Исходящий пакет #0x4, тип 50 / 0x32 (SSH2_MSG_USERAUTH_REQUEST)
00000000 00 00 00 04 72 6f 6f 74 00 00 00 0e 73 73 68 2d ....root....ssh-
00000010 63 6f 6e 6e 65 63 74 69 6f 6e 00 00 00 04 6e 6f connection....no
00000020 6e 65 ne
Исходящие необработанные данные на 2019-06-04 16:36:29
00000000 7b 38 b6 ce 36 28 69 4f 59 6b 54 db 6a 7a 14 33 {8..6(iOYkT.jz.3
00000010 d4 9f ef 42 c4 89 e3 ed 36 d7 10 c0 f8 e3 69 ec ...B....6.....i.
00000020 3a 2a 92 79 67 56 49 b6 7c 76 1e 2a e5 87 41 e3 :*.ygVI.|v.*..A.
00000030 87 47 2e 74 77 aa 7c d9 45 99 8b b9 80 1a b0 66 .G.tw.|.E......f
00000040 85 ca 0c a0 42 b7 9c 22 de 47 17 31 5f 28 1e 7e ....B..".G.1_(.~
Журнал событий: Удаленная сторона неожиданно закрыла сетевое соединение
У кого-нибудь есть идеи по этому поводу? Заранее спасибо за помощь.
PuTTY
Некоторые разумные контрольные точки, которые я мог бы предложить:
- Одинаковы ли версии Ubuntu на обоих компьютерах?
- Одинаковы ли файлы /etc/ssh/sshd_config на обоих компьютерах?
- Одинаковы ли параметры сессии PuTTY?
UPD: Мое дальнейшее предположение
Это должно быть связано с тем, что ваша вторая копия идентична первой. Прежде чем я продолжу свои размышления, пожалуйста, попробуйте еще раз создать образы, но на этот раз подключитесь сначала ко второй копии, а затем к первой. Мое предположение заключается в том, что та, к которой вы подключитесь первой сразу после создания, будет успешной, тогда как следующая – неудачной.
Пожалуйста, сделайте следующее:
1.
plink -v user@okhost date > C:\some\path\okhost.log
plink -v user@failedhost date > C:\some\path\failedhost.log
2.
поделитесь C:\some\path\okhost.log и C:\some\path\failedhost.log в текстовом формате (например, http://hastebin.com)
Я
Ответ или решение
Ошибка "remote side unexpectedly closed network connection" при использовании PuTTY для подключения к Ubuntu может возникать по многим причинам. Рассмотрим наиболее вероятные причины и способы их устранения.
1. Проверка конфигурации SSH
Первое, что стоит сделать, – это убедиться, что конфигурация SSH-сервера на обоих ПК идентична. Для этого сравните следующие файлы и настройки:
-
Версия Ubuntu:
Убедитесь, что обе системы используют одну и ту же версию Ubuntu и SSH. Это можно проверить с помощью командыlsb_release -a
иssh -V
. -
Конфигурация SSH-сервера:
Откройте файл конфигурации SSH на обоих серверах:sudo nano /etc/ssh/sshd_config
Убедитесь, что настройки такие как
Port
,PermitRootLogin
,PasswordAuthentication
и другие соответствуют друг другу. Если вы вносили изменения, не забудьте перезапустить SSH-сервер:sudo systemctl restart sshd
2. Проверка параметров подключения в PuTTY
Сравните параметры сеанса PuTTY для обоих подключений. Обратите внимание на следующие настройки:
- Hostname или IP-адрес
- Port (обычно 22 для SSH)
- Connection Type (что-то вроде SSH)
- Дополнительные настройки в разделе Encryption и SSH.
3. Сетевые настройки и брандмауэр
Потенциальной причиной проблемы может быть блокировка сетевого подключения:
-
Проверьте, открыт ли порт 22 на сервере с помощью команды:
sudo ufw status
Если брандмауэр активен и SSH заблокирован, разрешите доступ:
sudo ufw allow ssh
-
Также убедитесь, что вы можете подключиться к серверу с помощью другого клиента SSH (например, с использованием
ssh
в терминале), чтобы изолировать проблему.
4. Логи SSH
Исследуйте логи для более детальной информации о том, почему соединение закрывается. Логи можно найти в /var/log/auth.log
или /var/log/secure
. Используйте следующую команду, чтобы отфильтровать соответствующие записи:
tail -f /var/log/auth.log
или
tail -f /var/log/secure
5. Проверка конфигурации сети
Если все вышеперечисленные пункты проверены, возможно, проблема связана с конфигурацией сети:
- Проверьте маршрутизацию и наличие других сетевых правил, которые могут блокировать соединение.
- Убедитесь, что нет прокси-серверов или VPN, которые могут влиять на соединение с одним из серверов.
6. Тестирование подключений
Попробуйте выполнить команду с использованием plink
, как это предложено в вашем запросе, чтобы найти разницу в логах двух попыток подключения:
plink -v user@okhost date > C:\path\okhost.log
plink -v user@failedhost date > C:\path\failedhost.log
Затем тщательно сравните полученные логи для выявления различий.
Заключение
Ошибки при установлении SSH-соединений могут быть вызваны множеством факторов, начиная от конфигурации SSH и заканчивая сетевыми проблемами. Тщательная проверка каждого из вышеперечисленных аспектов поможет выявить и устранить неполадки. В процессе устранения проблемы важно также документировать все изменения и наблюдения для дальнейшего анализа.