В настроенном по-умолчанию SSH-сервере обычно стоит настройка разрыва соединения после нескольких минут бездействия.
Настройка сервера
Чтобы сервер SSH не разрывал соединение при простое, надо отредактировать файл
/etc/ssh/sshd_config
Внимание! Нужно редактировать именно sshd_config а не ssh_config.
В этом настроечном файле надо сделать следующую настройку:
TCPKeepAlive yes
А так же установить период отправки пустого пакета на клиент, чтобы соединение удерживалось, в секундах:
ClientAliveInterval 60
После чего надо перегрузить сервер ssh.
service ssh restart
Настройка клиента
На предыдущем шаге, на сервере была настроена опция ClientAliveInterval, но для лучшего удержания, подобную настройку надо сделать и на строне клиента. На клиенте настраивается похожая опция, которая называется ServerAliveInterval.
Данную настройку надо производить в пользовательском файле ~/.ssh/config на локальной машине. Необходимо добавить следующие строки:
Host *
ServerAliveInterval 60
После таких насроек соединение должно удерживаться гораздо стабильнее.