SSH (от англ. Secure Shell) — защищенный протокол для удаленного входа в операционную систему и обмена информацией. Он шифрует весь трафик данных в процессе их пересылки между клиентом и сервером, предотвращая подслушивание и несанкционированное вмешательство. Чтобы соединение между двумя хостами было безопасным, SSH применяет ряд мер. Одной из таких является таймаут SSH-соединения — время бездействия, по истечении которого сервер автоматически закрывает соединение для экономии ресурсов и повышения безопасности.
Основной способ увеличить time-out соединения заключается во внесении изменений в настройки sshd на каждом сервере. При большом их количестве это может стать ресурсоёмкой задачей.
Для изменения времени до разрыва соединения сервером из-за длительной неактивности ssh-клиента удобнее всего задать настройки на стороне самого клиента, причём так, чтобы они работали со всеми хостами. Для этого нужно открыть либо создать файл ~/.ssh/config
Если файла ранее не было, то после его создания необходимо установить права 600, это можно сделать командой:
chmod 600 ~/.ssh/config
Далее в самое начало файла добавить строки:
Host *
ServerAliveInterval 60
Эти строчки заставляют отправлять ваш ssh-клиент каждые 60 секунд KeepAlive сообщения для всех серверов к которым вы будете подключаться, тем самым поддерживая с ними постоянное соединение.