Повторное подключение туннеля SSH SOCKS с помощью autossh
Используйте autossh с проверками живости SSH и помните, что переподключение туннеля не восстанавливает старые соединения приложений.
Прокси SSH SOCKS исчезает, когда его SSH-соединение завершается. Супервизор может перезапустить это соединение, но не может продолжить каждый запрос к сайту, который использовал старый поток.
Для уже работающей настройки SSH autossh может наблюдать за динамическим перенаправлением, пока OpenSSH обнаруживает неотвечающий сервер:
autossh -M 0 -N -o ServerAliveInterval=30 -o ServerAliveCountMax=3 -o ExitOnForwardFailure=yes -D 127.0.0.1:1080 [email protected]
-M 0 отключает отдельный механизм порта мониторинга autossh. Он полагается на завершение SSH, чтобы супервизор мог отреагировать. Опции server-alive дают проверку живости на уровне SSH; они не запрашивают страницу у каждого используемого вами назначения.
Держите начальную настройку видимой, пока не заработают аутентификация и перенаправление. Фоновое поведение autossh отличается от -f обычного SSH: запуск без присмотра не может остановиться, чтобы запросить пароль или парольную фразу ключа. Его документированные стартовые ворота также позволяют отличить мгновенный сбой настройки от позже оборванного сеанса.
После переподключения локальный слушатель может снова стать доступным. Приложениям всё ещё может требоваться повторять свои неудачные операции. Загрузка, прерванная до получения ответа, имеет результат на уровне приложения, который нужно урегулировать, а не просто отсутствующий туннель, который нужно перезапустить.
Наконец, исправный транспорт SSH не доказывает, что шлюз может достичь конкретного сайта. Отделяйте наблюдение за туннелем от мониторинга задачи, которая его использует.