TunnelHunt

Пожизненные туннели: Настройка авто-переподключения с помощью autossh и TunnelHunt

Опубликовано: 16 июня 2026 г.

Как сделать так, чтобы ваш туннель никогда не падал. Пошаговый гайд по использованию утилиты autossh для создания стабильных, восстанавливающихся соединений.

Пожизненные туннели: Настройка авто-переподключения с помощью autossh и TunnelHunt

Стандартное SSH-подключение отлично работает для быстрой демонстрации проекта или тестирования вебхуков «здесь и сейчас». Но что делать, если вам нужен постоянный туннель?

Например, если вы хотите развернуть локальный сервер разработки как демонстрационный стенд (staging) для команды, или если ваш провайдер часто разрывает сессию, или ваш ноутбук уходит в спящий режим. Обычный процесс ssh в таких случаях просто завершится с ошибкой Connection reset by peer или Broken pipe, и туннель закроется.

Решить эту проблему раз и навсегда помогает классическая консольная утилита autossh.


Что такое autossh и как это работает?

autossh — это небольшая и крайне надежная программа-обертка над стандартным SSH-клиентом. Ее единственная задача — мониторить состояние установленного соединения. Если autossh замечает, что туннель упал, связь оборвалась или удаленный сервер перестал отвечать, она мгновенно и прозрачно для вас запускает новый процесс SSH, восстанавливая работоспособность туннеля.


Установка autossh

Утилита доступна в пакетных менеджерах всех популярных операционных систем.

  • macOS (через Homebrew):
    brew install autossh
  • Ubuntu / Debian:
    sudo apt update && sudo apt install autossh
  • CentOS / RHEL:
    sudo yum install epel-release
    sudo yum install autossh

Запуск туннеля через autossh

Команда запуска очень похожа на стандартное подключение к TunnelHunt, но с добавлением нескольких важных опций для мониторинга:

autossh -M 0 -o "ServerAliveInterval 30" -o "ServerAliveCountMax 3" -R 80:localhost:3000 -p 2222 nokey@tunnelhunt.ru

Разбор параметров:

  • -M 0 — отключает старый механизм активного тестирования портов самой утилитой autossh. Вместо этого мы доверяем встроенной функции мониторинга SSH (ServerAlive). Это наиболее надежный и современный подход.
  • -o "ServerAliveInterval 30" — каждые 30 seconds ваш SSH-клиент будет отправлять серверу TunnelHunt «пустой» пакет (пинг) для проверки активности.
  • -o "ServerAliveCountMax 3" — если клиент отправит 3 запроса подряд и не получит ответа (то есть в течение 90 секунд связь не восстановится), соединение будет признано разорванным.
  • После расторжения сессии autossh автоматически перехватит управление и поднимет туннель заново.

Полноценный запуск в фоновом режиме (на сервере или Linux)

Если вы хотите запустить постоянный туннель на удаленном сервере разработчика, чтобы он работал в фоновом режиме и автоматически запускался при старте операционной системы, лучше всего использовать systemd.

Создайте конфигурационный файл службы:

sudo nano /etc/systemd/system/tunnelhunt.service

Вставьте следующее содержимое (замените 3000 на ваш локальный порт):

[Unit]
Description=TunnelHunt Persistent Tunnel
After=network.target

[Service]
Environment="AUTOSSH_GATETIME=0"
Environment="AUTOSSH_PORT=0"
Type=simple
User=your_user
ExecStart=/usr/bin/autossh -M 0 -o "ServerAliveInterval 30" -o "ServerAliveCountMax 3" -R 80:localhost:3000 -p 2222 nokey@tunnelhunt.ru
Restart=on-failure
RestartSec=10

[Install]
WantedBy=multi-user.target

Пояснение к переменным:

  • AUTOSSH_GATETIME=0 — говорит утилите продолжать попытки переподключения, даже если первое соединение сразу завершилось неудачей (например, если при старте системы сеть еще не поднялась).
  • Restart=on-failure — указывает systemd перезапустить сам процесс autossh, если он вдруг упадет.

Активируйте и запустите службу:

sudo systemctl daemon-reload
sudo systemctl enable tunnelhunt.service
sudo systemctl start tunnelhunt.service

Теперь ваш туннель будет работать постоянно и автоматически переживет перезагрузки сервера и сбои сети.


Заключение

Использование autossh совместно с TunnelHunt дает вам бесплатную и сверхстабильную альтернативу коммерческим решениям для развертывания постоянных демонстрационных стендов. Запустив команду один раз, вы можете быть уверены, что ваш локальный проект будет доступен по публичному адресу 24/7.

Готовы запустить свой первый туннель?

Начните использовать TunnelHunt бесплатно уже сегодня и откройте доступ к локальному серверу всего одной командой.

Зарегистрироваться бесплатно →

Последние публикации

Локальное тестирование вебхуков CloudPayments через TunnelHunt

Локальное тестирование вебхуков CloudPayments через TunnelHunt

22 июня 2026 г.

Пошаговый гайд по отладке уведомлений о платежах CloudPayments на localhost. Как настроить адреса уведомлений, пробросить туннель и верифицировать подпись HMAC-SHA256 в Python.

Читать далее →
Настройка и отладка вебхуков Robokassa на локальном сервере

Настройка и отладка вебхуков Robokassa на локальном сервере

22 июня 2026 г.

Пошаговая инструкция по приему и верификации платежных уведомлений Robokassa на локальном компьютере с помощью TunnelHunt. Пример MD5-подписи на Python.

Читать далее →
Локальное тестирование вебхуков Т-Банка (Т-Бизнес / Эквайринг) на localhost

Локальное тестирование вебхуков Т-Банка (Т-Бизнес / Эквайринг) на localhost

22 июня 2026 г.

Пошаговый гайд по отладке платежных уведомлений эквайринга Т-Банка локально. Настройка адреса уведомлений, проброс через TunnelHunt и пример проверки подписи Token на Python.

Читать далее →
Локальное тестирование вебхуков ЮKassa (YooKassa) через TunnelHunt

Локальное тестирование вебхуков ЮKassa (YooKassa) через TunnelHunt

22 июня 2026 г.

Пошаговый гайд по настройке уведомлений ЮKassa (YooKassa) на локальном сервере. Как пробросить порт, прописать URL в личном кабинете и проверить цифровую подпись.

Читать далее →