Как сделать соединение через SSH Putty никогда не тайм-аут, когда пользователь простаивает?

36

У меня есть сервер Ubuntu 12.04, который я купил, если я соединяюсь с putty, используя ssh, и через некоторое время, если я простаиваю, сервер putty пользователя sudoer отключается от сервера

Как мне настроить Ubuntu, чтобы поддерживать это соединение в течение неопределенного времени?

Дэвид МЗ
источник

Ответы:

47

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

Конфигурация PuTTY

дас кекс
источник
2
?????? «0, чтобы выключить» или 30, чтобы выключить ????????? Я думаю, что он должен поставить 0 вместо 30!
Кокбира
1
Нет, это время между keepalive. Если вы установите значение 0, сообщения активности не будут отправлены, но вы хотите, чтобы putty отправлял сообщения активности, чтобы поддерживать соединение.
дас Кекс
1
Почему 30 секунд? Он сказал, никогда не перерыв, так что это должно быть "9999999999999"?
NoName
1
@NoName, потому что настройка для "keepalive interval". Это означает, что каждые 30 секунд он отправляет пинг, чтобы предотвратить тайм-аут соединения.
дас Кекс
1
Для меня это работало без флажка tcp. Поскольку соединение tcp используется для отправки «нулевого пакета», может не потребоваться дополнительная поддержка активности tcp. Если неактивные tcp-соединения прерываются маршрутизатором или брандмауэром в течение нескольких секунд, этот флажок может помочь (или установить количество секунд между keepalive на 5 или даже 1).
дас Кекс
10

В дополнение к ответу от «das Keks» есть еще один аспект, который может повлиять на это поведение. Bash (обычно это оболочка по умолчанию в Ubuntu) имеет значение, TMOUTкоторое определяет (десятичное значение в секундах), после которого время ожидания сеанса оболочки бездействует, и пользователь выходит из системы, что приводит к отключению в сеансе SSH.


Кроме того, я настоятельно рекомендую вам сделать что-то еще полностью. Установите byobu(или даже просто tmuxодин, поскольку он превосходит GNU screen) и всегда входите в систему и присоединяйтесь к уже существующему сеансу (это GNU screenи tmuxтерминология). Таким образом, даже если вас принудительно отключат - давайте посмотрим правде в глаза, всегда может произойти отключение питания или прерывание сети - вы всегда можете возобновить свою работу с того места, где вы ушли. И это работает на разных машинах. Таким образом, вы можете подключиться к тому же сеансу с другого компьютера (например, из дома). Возможности разнообразны, и это действительно повышает производительность. И не забывайте, что терминальные мультиплексоры преодолевают один из больших недостатков PuTTY: нет интерфейса с вкладками. Теперь вы получаете «вкладки»screentmux

apt-get install tmux
apt-get install byobu

Byobu - это хороший интерфейс для обоих терминальных мультиплексоров, но tmuxон настолько удобен, что, на мой взгляд, byobuв значительной степени устарел . Так что моя рекомендация будет tmux.

Также выполните поиск по «точечным файлам», в частности, tmux.confи .tmux.confв Интернете, чтобы найти множество хороших настроек для начала работы.

0xC0000022L
источник
6

Зайдите в опции PuTTy -> Подключение

  1. Измените значение по умолчанию для «Секунды между сообщениями активности (0 секунд, чтобы отключить)»
    • измените его с 0 на 60 (1 минута) - это меняется ... уменьшите, если 1 минута не помогает
  2. Установите флажок «Включить TCP_keepalives (опция SO_KEEPALIVE)».
  3. Наконец сохранить настройки для сессии
Раджеш
источник
0

Я поддерживаю свои сессии PuTTY, отслеживая логи cron

tail -f /var/log/cron

Я хочу, чтобы сессия PuTTY была жива, потому что я прокси через носки.

Фрэнсис Суан
источник
0

Тайм-аут на 30 секунд никогда не работал для меня, поэтому я попытался немного поиграть и нашел решение, увеличив тайм-аут до 240 (4 минут), теперь он работает как шарм

shahnshah
источник