Тайм-ауты SSH в результате неактивности могут быть весьма раздражающими. Обычно это вынуждает вас заново устанавливать соединение и начинать все сначала. К счастью, вы можете легко увеличить лимит таймаута SSH и поддерживать сеанс SSH даже после некоторого бездействия. Это происходит, когда либо сервер, либо клиент отправляет нулевые пакеты другой системе, чтобы поддержать сеанс.
Теперь давайте рассмотрим, как можно увеличить таймаут SSH-соединения в Linux.
Увеличение таймаута SSH-соединения
На сервере перейдите в файл конфигурации /etc/ssh/sshd_config.
1 | sudo nano /etc/ssh/sshd_config |
Прокрутите файл и найдите следующие параметры:
1 2 | #ClientAliveInterval #ClientAliveCountMax |
Параметр ClientAliveInterval определяет время в секундах, которое сервер будет ждать перед отправкой нулевого пакета клиентской системе, чтобы сохранить соединение.
С другой стороны, параметр ClientAliveCountMax определяет количество сообщений «клиент жив», которые будут отправлены без получения каких-либо сообщений от клиента. Если этот предел будет достигнут во время отправки сообщений, демон sshd прервет сессию, фактически завершая ssh-сессию.
Значение тайм-аута определяется произведением вышеуказанных параметров, т. е.
Значение таймаута = ClientAliveInterval * ClientAliveCountMax
Допустим, вы определили параметры, как показано ниже:
1 2 | ClientAliveInterval 1200 ClientAliveCountMax 3 |
Значение таймаута составит 1200 секунд * 3 = 3600 секунд. Это эквивалентно 1 часу, что означает, что ваша ssh-сессия будет оставаться живой в течение 1 часа без обрыва.
В качестве альтернативы вы можете добиться того же результата, указав только параметр ClientAliveInterval.
1 | ClientAliveInterval 3600 |
После этого перезагрузите демон OpenSSH, чтобы изменения вступили в силу.
1 | sudo systemctl reload sshd |
Заключение
В качестве меры безопасности SSH всегда рекомендуется не устанавливать большое значение тайм-аута SSH. Это нужно для того, чтобы никто не смог пройти мимо и перехватить вашу сессию, когда вы отсутствуете в течение длительного периода времени.