Назад | Перейти на главную страницу

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

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

на сервере IBM 4690 SSH:

 TCPKeepAlive no
 ClientAliveCountMax  3
 ClientAliveInterval  15

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

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

Вопрос:

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

Спасибо,

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

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

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

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