Доступ к X-UI через SSH-туннель
Иногда удобнее (и безопаснее) не открывать порт панели в интернет, а зайти в X-UI через зашифрованный SSH-туннель. В этом сценарии панель остается доступной только внутри сервера, а вы подключаетесь к ней локально — как будто она работает у вас на компьютере.
Откройте терминал на своём компьютере и запустите туннель. Команда пробрасывает локальный порт 8080 к порту панели на сервере.
ssh -N -L 8080:localhost:<порт_панели_X-UI> root@<IP_вашего_сервера>
Пример:
ssh -N -L 8080:localhost:53372 root@103.106.2.208
Пока окно терминала открыто, туннель активен и панель доступна. Закрыли окно — оборвали туннель.
Что означает команда
- -L 8080:localhost:<порт> — создать локальную «трубу»: всё, что вы откроете на http://localhost:8080, по SSH полетит на сервер и попадёт в <порт> X-UI. Важно: localhost в этой части команды — со стороны сервера, не ваш компьютер.
- -N — не запускать удалённую команду (нам нужен только туннель).
- root@<IP> — пользователь и адрес сервера, на котором крутится X-UI. Можно подключаться и под обычным пользователем, если у него есть доступ по SSH.
Если SSH у вас висит на нестандартном порту (например, 2222), добавьте ключ -p:
ssh -p 2222 -N -L 8080:localhost:53372 root@103.106.2.208
Если на вашем компьютере порт 8080 уже занят, просто выберите другой локальный порт, например 18080:
ssh -N -L 18080:localhost:53372 root@103.106.2.208
Тогда в браузере открывайте http://localhost:18080/….
Открываем панель в браузере
После запуска туннеля перейдите по адресу:
http://localhost:8080/<путь_к_панели>/
Пример:
http://localhost:8080/iUR0N76VKfF0aMM/
Вы увидите форму входа в X-UI. Если страница не открывается, проверьте: не занят ли локальный порт, не ошиблись ли в <порт_панели_X-UI>, и не завершилась ли SSH-сессия. Быстрый тест в терминале:
curl -I http://localhost:8080/
Ответ 200/301/302 подскажет, что туннель жив и что-то отвечает.
Важно при импорте VPN-конфига
После экспорта конфигурации из X-UI в строке подключения часто встречается localhost — это адрес вашего локального компьютера. Такой конфиг за пределами туннеля работать не будет: клиент попытается подключиться к самому себе.
Пример «как есть» (не подходит):
vless://b037ff83-dd81-4ed3-a78d-55a163d3523e@localhost:36970?type=tcp&security=reality&pbk=...#ltr9asgs0
Замените localhost на внешний IP сервера — тот самый, что вы использовали в SSH-команде (или на домен, указывающий на этот сервер).
Правильно:
vless://b037ff83-dd81-4ed3-a78d-55a163d3523e@103.106.2.208:36970?type=tcp&security=reality&pbk=...#ltr9asgs0
После правки вставляйте конфиг в VPN-клиент — подключение заработает. Параметры вроде pbk, type, security и метка в конце (#…) трогать не нужно.
Пара слов о безопасности
Лучший вариант — держать X-UI привязанным к 127.0.0.1 на сервере (без «прослушки» наружу) и заходить только через SSH-туннель. Так панель не торчит в интернет и не светит портами. Если у вас всё же есть внешний доступ (например, через реверс-прокси), проследите, чтобы стояли аутентификация, HTTPS и брандмауэрные правила. Для самого SSH предпочтительна авторизация по ключам, а не по паролю.
Завершение сессии
Когда закончите работу, вернитесь в окно терминала с туннелем и нажмите Ctrl+C — сессия аккуратно закроется. Если запускали туннель в фоновом режиме (например, с -f), найдите и завершите соответствующий процесс ssh.