Отключите сеансы SSH от пользователя IBM 4690

Мне нужно, чтобы сессия SSH была отключена после 45 секунд бездействия.

на сервере IBM 4690 SSH установлены следующие параметры:

 TCPKeepAlive no
 ClientAliveCountMax  3
 ClientAliveInterval  15

Но когда я делаю захват пакета на стороне клиента (мой ПК), я вижу некоторый трафик, который инициируется сервером, и затем мой ПК подтверждает пакет. И я думаю, что из-за этого сеанса SSH никогда не заканчивается.

Когда я подключаюсь к маршрутизатору Cisco, используя тот же SSH-клиент, я не вижу этот трафик. И время сеанса истекло.

Вопрос:

Я не знаю, возможно ли это, но
Как я могу сделать тайм-аут SSH (или клиент принудительно закрыть соединение), если пользователь не нажимал какие-либо кнопки. Или принудительно закрыть окно или как-то убить / отключить сессию за 45 секунд.

Спасибо,

1 ответ

ClientAliveInterval настройка является причиной того, что вы видите периодические пакеты от сервера к клиенту. Это заставляет сервер периодически отправлять пакет клиенту, на который клиент должен ответить. Если клиент не отвечает достаточно раз, сервер прервет соединение.

Другими словами, ClientAlive Настройки просто проверяют связь между программой сервера и программой клиента. Он обнаружит клиента, который отключился от сети и больше не отвечает на пакеты. Он не обнаружит случай, когда клиент запущен и работает, но пользователь смотрит видео с кошками.

Если сервер является сервером Unix, вы можете посмотреть, как установить таймаут в их оболочке. Баш и другие sh-подобные оболочки имеют переменную TMOUT который может быть установлен для тайм-аута простоя сеансов. Оболочки на основе csh имеют autologout установка. Смотрите этот вопрос для дальнейшего. Я думаю, что оба из них только отбросят кого-то, кто бездействует в командной строке; это не бросит того, кто запускает программу.

Если это неприемлемо, вы можете посмотреть что-то в сценарии, основываясь на выводе who или похожие.

Другие вопросы по тегам