Как поддерживать работоспособность SSH-туннелей с помощью Autossh

23 feb 2023 2 min di lettura
Как поддерживать работоспособность SSH-туннелей с помощью Autossh
Indice dei contenuti

Введение

Autossh — это программа с открытым исходным кодом, позволяющая надежно поддерживать активное SSH-соединение даже при сбоях в работе сети или случайных отключениях.

Autossh работает, автоматически переподключаясь в случае сбоя сети, восстанавливая существующее соединение SSH без необходимости ручного вмешательства. Кроме того, Autossh может автоматически возобновлять прерванные соединения без необходимости сбрасывать пароль аутентификации.

По сути, Autossh работает как оболочка стандартной программы SSH, обеспечивая дополнительный контроль над SSH-соединениями и обработкой сетевых ошибок. Это делает Autossh очень полезным решением для безопасных, зашифрованных соединений SSH, особенно для приложений, требующих постоянного соединения, таких как удаленное управление сервером или удаленный доступ к сетевым ресурсам.

Установить Автосш

Autossh доступен в репозиториях пакетов большинства дистрибутивов Linux. Чтобы установить его, откройте терминал и выполните следующую команду:

sudo apt-get install autossh

Если вы используете другой менеджер пакетов, вы можете найти и установить пакет autossh с помощью соответствующей команды.

Настроить SSH-туннель

Прежде чем мы сможем использовать Autossh, нам нужно настроить туннель SSH, который он сможет обрабатывать. В этом примере мы создадим туннель, перенаправляющий локальный порт 8080 на порт 80 на удаленном сервере.

Чтобы создать туннель, выполните в терминале следующую команду:

ssh -L 8080:localhost:80 remote-user@remote-server

Эта команда установит SSH-соединение с удаленным сервером и создаст туннель, который перенаправляет трафик с порта 8080 на вашем локальном компьютере на порт 80 на удаленном сервере.

Как только туннель SSH установлен, вы можете протестировать его, открыв веб-браузер и перейдя по адресу http://localhost:8080. Если все настроено правильно, вы должны увидеть веб-страницу по умолчанию для удаленного сервера.

Используйте Autossh для управления туннелем SSH

Теперь, когда у нас настроен и запущен туннель SSH, мы можем использовать Autossh для автоматического перезапуска туннеля, если он отключен или остановлен.

Чтобы использовать Autossh, нам нужно отредактировать команду SSH, используемую для создания туннеля. Вот пример:

autossh -M 0 -o "ServerAliveInterval 30" -o "ServerAliveCountMax 3" -N -f -L 8080:localhost:80 remote-user@remote-server

Эта команда аналогична команде SSH, которая ранее использовалась для создания туннеля, но включает некоторые дополнительные параметры, которые сообщают Autossh об управлении туннелем.

  • Параметр -M 0 указывает Autossh использовать встроенный порт мониторинга, чтобы определить, отключен ли туннель SSH.
  • Параметры -o "ServerAliveInterval 30" и -o "ServerAliveCountMax 3" указывают Autossh отправлять пакеты проверки активности каждые 30 секунд и пытаться переподключиться, если три последовательных пакета проверки активности терпят неудачу.
  • Параметры -N -f сообщают SSH о создании туннеля в фоновом режиме без выполнения каких-либо удаленных команд.

Тест Автосш

Чтобы протестировать Autossh, отключите подключение к Интернету или вручную остановите туннель SSH, нажав CTRL + C. Autossh должен определить, что туннель отключен, и перезапустить его автоматически.

Вы можете убедиться, что туннель перезапущен, зайдя на http://localhost:8080 в веб-браузере.

Заключение

В этой статье мы объяснили, как установить и использовать Autossh в Linux. Autossh может быть бесценным инструментом для поддержания постоянных соединений SSH через нестабильные или ненадежные сетевые соединения. Используя Autossh, вы можете гарантировать, что ваши туннели SSH останутся в рабочем состоянии, даже если соединение будет разорвано.

Buy me a coffeeBuy me a coffee

Supportaci se ti piacciono i nostri contenuti. Grazie.

Successivamente, completa il checkout per l'accesso completo a Noviello.it.
Bentornato! Accesso eseguito correttamente.
Ti sei abbonato con successo a Noviello.it.
Successo! Il tuo account è completamente attivato, ora hai accesso a tutti i contenuti.
Operazione riuscita. Le tue informazioni di fatturazione sono state aggiornate.
La tua fatturazione non è stata aggiornata.