Замазка: «Сервер неожиданно закрыл сетевое соединение»

11

Замазка «Сервер неожиданно закрыл сетевое соединение» Я получаю «Сервер неожиданно закрыл сетевое соединение» (см. Https://superuser.com/questions/735824/putty-ends-to-an-unexpected-error-and-vnc- показывает-терминал-с-ошибкой и получение «Сервер неожиданно закрыл сетевое соединение» ), но это не связано с какой-либо перезагрузкой, соединение просто неожиданно обрывается, и с ним веб-сервер (Apache) работает на сервере Linux. Я использую Putty через Windows 7 для подключения к Raspberry Pi с Raspbian. Есть идеи, что может пойти не так?

Grant_Bailey
источник

Ответы:

13

Сеанс PuTTY, оставленный бездействующим, будет отключен во время, определенное хост-сервером. Попробуйте включить поддержку активности в PuTTY. Это заставляет PuTTY периодически отправлять пустые SSH-пакеты на удаленный хост, предотвращая тайм-аут сеанса.

Клиент PuTTY может быть сконфигурирован так, чтобы всегда устанавливать соединение, которое не прерывается из-за неактивности. Чтобы создать и сохранить новое соединение keep-alive, выполните следующие действия:

  1. Откройте приложение PuTTY и перейдите на панель «Параметры» (с пометкой «Категория») в левой части окна.
  2. Выберите (щелкните) пункт «Соединение».
  3. В области «Отправка пустых пакетов для поддержания активности сеанса» справа измените значение по умолчанию «Секунды между сообщениями активности» с 0 (отключить) до 1800 (30 минут).
  4. Установите флажок «Включить TCP keepalive (опция SO_KEEPALIVE)». Примечание. Этот параметр может быть недоступен в более старых версиях клиента PuTTY.
  5. В верхнем левом углу панели параметров выберите (щелкните) «Сессия».
  6. В поле «Имя хоста (или IP-адрес)» введите имя хоста или IP-адрес назначения (например, «destination.ipaddress.here.com» или «192.168.1.1»).
  7. В текстовом поле «Сохраненные сеансы» введите имя сеанса (например, «сохраненная сессия»).
  8. Выберите «Сохранить».

Чтобы использовать измененные настройки сеанса, выберите его в списке «Сохраненные сеансы», затем нажмите кнопки с пометкой «Загрузить» и «Открыть».

Если время подключенных сеансов истекло, введите меньшее количество секунд в значение «Секунды между сообщениями активности».

afrab_null
источник
Это также неверно. Время соединения TCP не истекает. Если сквозной принцип подрывается NAT или подобным, сопоставления соединений на этих устройствах могут истекать. По умолчанию SSH никогда не истекает. При правильном интернет-соединении простаивающее соединение SSH будет оставаться открытым неограниченное время.
Даниэль Б
Ssh предлагает два вида keep-alive: TCP keep-alives и ssh keep-alives. TCP предлагает механизм автоматического закрытия соединений, которые считаются мертвыми из-за тайм-аута. Речь идет об активации флага в сокете.
Рауль Салинас-Монтеагудо
Я понизил число и вернулся к 0 и все еще не буду работать. Есть ли другое решение для этого?
Mymiqdad
1

Сервер мог быть усилен. Причиной может быть: клиентский ip может быть не настроен в / etc / allowhosts и / или b) правило брандмауэра unix / linux / selinux не разрешает.

AVA
источник
0

У меня была такая же проблема в течение долгого времени, я использую putty для подключения к экземплярам AWS linux (некоторые удаленные облачные серверы). Я читал об исправлении с помощью keepAlives на нескольких страницах и нескольких страницах, пробовал, но безрезультатно.

И только вчера, ища некоторые настройки цветовой схемы, я нашел это: https://github.com/jblaine/solarized-and-modern-putty

Помимо настройки цветов терминала он применяет некоторые нормальные значения по умолчанию (как вышеупомянутые KeepAlives до 59 секунд плюс другие), и угадайте, что? У меня не было закрытой связи в течение двух дней.

Марио Чапа
источник
-1

Вы простояли дольше, чем тайм-аут сеанса на удаленном устройстве, поэтому он закрыл сеанс, и PuTTy не ожидал этого.

cpt_fink
источник
1
Однако не совсем так: если вы выйдете из системы (или выйдете принудительно), соединение будет завершено изящно. Здесь произошло то, что базовое TCP-соединение было как-то закрыто («Сброс соединения по одноранговому узлу»), следовательно, «неожиданно».
Даниэль Б
Где вы видите «сброс»? Для меня очевидное значение «неожиданно закрытого» - это TCP-закрытие, не ожидаемое на уровне SSH, и тестирование подтверждает это: если я выхожу из своей оболочки или убиваю ее, я получаю несколько SSH-пакетов (я задеваю CHANNEL_EOF, CHANNEL_CLOSED и / или DISCONNECT), затем FIN exchange и Putty pops "закрыты удаленным хостом"; OTOH, если я убью -9 моего sshd, я получу только обмен TCP FIN и "неожиданное закрытое сетевое соединение с сервером". Если бы это был RST (а не в SYN, где это означает отказ), я бы заподозрил какое-то промежуточное окно, в соответствии с вашим другим комментарием.
dave_thompson_085
@ dave_thompson_085 Вы ​​правы, я перепутал FIN и RST. В противном случае KiTTY говорит: «Программное обеспечение вызвало прерывание соединения».
Даниэль Б