Существует несколько способов противодействия потере соединения для сеансов SSH.
Во-первых, вы можете установить параметры ServerAliveInterval, ClientAliveInterval и ClientAliveCountMax. ServerAliveInterval - это количество секунд, которое клиент будет ждать перед отправкой нулевого пакета на сервер (чтобы сохранить соединение), обычно значение 60. ClientAliveInterval - это количество секунд, которое сервер будет ожидать перед отправкой пустого пакета клиенту. Наконец, ClientAliveCountMax - это число ClientAliveInterval, в котором клиенту разрешено оставаться в сети перед разрывом соединения; по умолчанию - 3, что означает трехкратный промежуток времени ClientAliveInterval.
Кроме того, вы можете использовать Mosh , мобильную оболочку, которая ...
разрешает роуминг, поддерживает прерывистое соединение и обеспечивает интеллектуальное локальное эхо и редактирование строк пользовательских нажатий клавиш. Mosh - это замена SSH. Он более надежный и отзывчивый, особенно по Wi-Fi, сотовой связи и междугородным каналам. Mosh - бесплатное программное обеспечение, доступное для GNU / Linux, FreeBSD, Solaris, Mac OS X и Android.
И тогда вы можете использовать autossh вместо ssh:
autossh - автоматически перезапускает сеансы и туннели SSH
Какой путь вы выберете, зависит в основном от вкусов. Что касается меня, я использую autossh для туннелей, которые я хочу иметь постоянно, особенно обратные туннели; Я использую mosh для действительно пагубных связей, например, когда ssh'ing в мою лабораторию с самолета или автомобиля. Для всех остальных случаев разумный выбор вышеуказанных параметров для openssh подойдет: например, мой файл .ssh / config содержит следующие строки:
Host *
ServerAliveInterval 60
IdentitiesOnly yes
и аналогично для серверов, в файле / etc / sshd_config .
И, кстати, для мониторинга вашего соединения в течение длительных периодов времени вы можете использовать mtr (= My TraceRoute), умную комбинацию traceroute и ping, которая будет выполнять трассировку каждые столько секунд (по умолчанию = 1 секунда) до данный сайт, и будет плавно обновлять статистику успешных пингов, давая вам возможность установить хотя бы среднюю долю времени безотказной работы, а не их распределение.