Документация
Быстрый старт + описание функций по разделам и устройствам (постоянно дополняется)
Туннельное управление
В этой статье описана функция панели «Туннельное управление» — подключение к панели серверов без публичного 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) на публичные порты сервера панели.