При длительной работе в терминале по SSH
, особенно с длительными перерывами, очень удобно, чтобы подключение сохранялось всё это время. Если не отсылать и получать данные в открытом подключении, то через некоторое время сессия разрывается по таймауту, что обычно неудобно. Исправим это.
В протоколе реализована возможность сохранения сессии, TCPKeepAlive
, клиент или сервер посылает «пустой» пакет, тем самым оживляет сессию и держит её открытой. Фича реализована как на клиенте, так и на сервере. На клиенте она включается в пользовательском конфиге ssh ~/.ssh/config
ServerAliveInterval 90
Клиент будет каждые 90 секунд отправлять пакет серверу и тем самым поддерживать соединение.
Можно настроить периодическое оживление и в общем случае, для всех клиентов сервера. В конфигурации демона /etc/ssh/sshd_config
добавляем или правим
ClientAliveInterval 90 ClientAliveCountMax 960
В этих настройках сервер будет отправлять пакет каждые 90 секунд и максимум делать это 960 раз. В результате соединение продержится до суток (90*960 = 86400 = 24h).