1111111111Rating 5.00 (5 Votes)

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

/etc/ssh/sshd_config

В данном файле необходимо найти несколько директив:

TCPKeepAlive - определяет поддержку соединение в активном состоянии, для этого используются специальные контрольные сообщения, посылаемые с определенным интервалом времени. Если директива установлена, обрыв соединения будет вовремя замечен, а соответствующий процесс будет убит. Возможные значения "yes", "no".

ClientAliveInterval - время простоя клиента в секундах, после которого демон sshd отправляет через защищённый канал запрос клиенту. Директива работает только для протокола 2. По-умолчанию установлен в 0, т.е. клиенту вообще не будут направляться такие запросы.

ClientAliveCountMax - количество проверок доступности клиента, которые могут оставаться без ответа. Если предел достигнут, sshd завершит сеанс. Данные запросы, отличаются от TCPKeepAlive, так как отправляются через защищённый канал и не могут быть подменены, в то время как TCPKeepAlive такую возможность допускает.
СlientAlive полезен, если поведение клиента или сервера зависит от активности соединения. Если ClientAliveInterval равно 15 секундам, а значение ClientAliveCountMax оставлено по-умолчанию, не отвечающие клиенты SSH, будут отключаться приблизительно через 45 секунд. Параметр работает только для протокола версии 2. По-умолчанию установлено значение 3.

Ниже приведу примеры настроек для SSHD

TCPKeepAlive yes
ClientAliveInterval 60
ClientAliveCountMax 180

TCPKeepAlive проверяет находится ли клиент на линии, ClientAliveInterval время простоя в секундах, после которого демон sshd отправляет запрос клиенту, ClientAliveCountMax указывает количество проверок доступности клиента, выше в примере указна поддержка соеинения в течении 3 часов (180 минут).

TCPKeepAlive yes
ClientAliveInterval 60
ClientAliveCountMax 10

Здесь 10 минут т.е. 60 секунд по 10, для примера можно так же выставить 10 минут следующим образом

ClientAliveInterval 600
ClientAliveCountMax 0

У меня настроен к примеру час

ClientAliveInterval 60
ClientAliveCountMax 60

Не забываем на клиенте указать настройки, для Linux

nano ~/.ssh/config

Добавляем строки

ServerAliveInterval 60
ServerAliveCountMax 60

В Putty

ssh keepalive

Спасибо за доп. материалы народлинку.

Добавить комментарий


Обновить
Защитный код

Сейчас 155 гостей и ни одного зарегистрированного пользователя на сайте

Вверх
Вниз