Чтобы настроить тайм-аут SSH сессий, посмотрим где находится файл конфигурации SSH сервера:
sudo find / -name sshd_config
Откроем его в любом текстовом редакторе, например nano:
sudo nano /etc/ssh/sshd_config
И укажем интервал ожидания в секундах, например 300 (это 5 минут), через который sshd запросит ответ от клиента, по умолчанию значение 0, то есть запросы не отправляются клиенту.
ClientAliveInterval 300
Чтобы неактивные соединения завершались, укажем ClientAliveCountMax, который определяет количество ClientAliveInterval без ответа, через которые соединение будет завершено (значение по умолчанию 3):
ClientAliveCountMax 36
То есть, 300 секунд * 36 = 10800 секунд = 180 минут = 3 часа.
Перезапустим сервер ssh чтобы применить изменения:
sudo /etc/init.d/ssh restart
Метод указанный выше завершает неактивные соединения и не будет завершать активные простаивающие соединения, по этому можно также указать время тайм-аута сессий в файле /etc/bash.bashrc.
Откроем его:
nano /etc/bash.bashrc
И добавим в самый конец:
TMOUT=10800 readonly TMOUT export TMOUT
В этом случае, через указанное время, будут завершаться простаивающие SSH и локальные сессии.
Можно посмотреть количество активных сессий в их время простоя (IDLE):
w
Смотрите также мои статьи:
Как отсоединить SSH пользователя
Установка и настройка SSH