Документация

Быстрый старт + описание функций по разделам и устройствам (постоянно дополняется)

Туннельное управление

В этой статье описана функция панели «Туннельное управление» — подключение к панели серверов без публичного IP.

В двух словах

К устройствам без публичного IP (внутренние машины, устройства за NAT, Android-смартфоны) вы не можете «подключиться снаружи». Туннельное управление заставляет эти устройства самим «подключаться наружу» к серверу панели, после чего вы можете управлять ими так же, как обычными серверами.

Что делает эта функция

К устройствам, у которых вообще нет публично доступного адреса (внутренние машины, устройства за NAT, Android-смартфоны и т. д.), нельзя подключиться по SSH напрямую. Туннельное управление через обратный туннель заставляет эти устройства самим подключиться к серверу панели, после чего вы можете управлять ими так же, как обычными серверами.

Принцип

  • Сервер панели (с публичным IP) запускает службу туннеля
  • На целевое устройство ставится лёгкий Agent, который сам «дозванивается» и подключается к серверу панели
  • После установления соединения панель может по этому туннелю выполнить обратный SSH к целевому устройству

> Проще говоря: целевое устройство как будто «само звонит» на сервер панели, и после того, как «звонок» принят, панель может по этой «выделенной линии» управлять им в обратную сторону.

Когда пригодится

  • Управление домашними внутренними устройствами (Raspberry Pi, NAS, софт-роутер)
  • Управление дешёвыми VPS без публичного IP (NAT-серверы)
  • Управление Android-смартфонами (среда Termux)

Как пользоваться (три шага)

1. Откройте «Туннельное управление» и нажмите «Скрипт установки в один клик», чтобы сгенерировать отдельную команду

2. Вставьте команду на целевое устройство и выполните её один раз (автоматически установит Agent + настроит автозапуск)

3. Примерно через 10 секунд устройство автоматически появится в панели — можно подключаться по SSH и пользоваться всеми функциями

> Команда установки намеренно сделана короткой, чтобы её можно было набрать вручную, пока ничего не установлено:

> - Linux (curl): curl -sSL http://<server>:5501/i/<token> | sudo bash

> - Termux: curl -sSL http://<server>:5501/t/<token> | bash

> - Если вы уже root, sudo можно убрать; в Alpine используйте wget -qO- … | sudo bash, в BSD — fetch -o - … | sudo bash

>

> Место установки: в Linux по умолчанию ставится в /opt/sshe-agent (если /opt отсутствует или недоступен для записи, скрипт автоматически откатывается к ~/sshe-agent — ошибки не будет); в Termux используется ~/sshe-agent (запускается вместе с Termux).

>

> Беспарольное подключение: после установки панель подключается к этому устройству без пароля, используя заранее внедрённый ключ, — вводить пароль каждый раз не нужно.

Поддерживаемые Agent среды

СредаСпособ установки
Linux (apt/yum/dnf/apk)Скрипт в один клик, автоматически ставит зависимости + автозапуск через systemd
Android / TermuxСпециальный скрипт (автоматически ставит Agent + запуск вместе с Termux)

> ⚠️ macOS пока не поддерживается: в разных версиях macOS аутентификация SSH сильно различается, гарантировать стабильное подключение между версиями невозможно, поэтому в этой версии туннельное подключение для macOS не предусмотрено. Для туннельного управления используйте устройства Linux / Termux.

Статус Agent онлайн

  • Онлайн: туннельное соединение в норме, можно работать в любой момент
  • Офлайн: устройство отключилось (выключено, пропала сеть, остановился Agent). Запись об офлайне сохраняется некоторое время; после переподключения статус онлайн восстанавливается автоматически

> 📌 Определение по карточке сервера: статус «онлайн/офлайн» туннелируемого устройства определяется пульсом Agent. Когда Agent онлайн, он через туннель динамически устанавливает SSH-канал и собирает реальные данные о состоянии (нагрузка/память/диск/время работы/батарея/температура) — так же, как обычные серверы.

Важные замечания

1. Agent — единственная программа, которую нужно установить на целевое устройство (исключение из принципа «нулевого следа»). Это потому, что к устройству без публичного IP нельзя подключиться активно — оно может только само подключиться наружу.

2. Agent потребляет минимум ресурсов (один процесс Python + одно долгое соединение).

3. Agent передаёт данные по шифрованному туннелю, связь безопасна.

4. Если IP устройства изменился или Agent вышел из строя, достаточно снова выполнить скрипт установки.

Связь с пробросом портов

Туннельное управление отвечает за «подключение устройства к панели», а проброс портов — за «открытие портов приложений устройства в публичную сеть». Они работают вместе: сначала через туннельное управление подключите устройство без публичного IP, затем через проброс портов замапьте его приложения (например, Navidrome, Nextcloud) на публичные порты сервера панели.