Top.Mail.Ru

Как получить доступ к X-UI через SSH-туннель

Как получить доступ к X-UI через SSH-туннель

Во многих случаях намного практичнее получать доступ к X-UI через SSH-туннель: соединение шифруется, сама панель остаётся доступной только на сервере, а у себя на компьютере вы работаете с ней так, будто она запущена локально.

Схема здесь очень простая: вы поднимаете SSH-туннель, который перенаправляет локальный порт на порт X-UI на сервере, а потом открываете панель в браузере через localhost.

Для этого на своём компьютере откройте терминал и выполните команду:

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 говорит SSH не запускать на удалённой машине никакую команду. В этом сценарии это и не нужно: нам требуется только сам туннель.
  • Часть root@<IP> — это пользователь и адрес сервера, где запущена X-UI. При желании можно подключаться и не под root, а под обычным пользователем, если у него есть доступ по 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. И вот здесь легко ошибиться: такой адрес указывает на локальный компьютер, а не на сервер. За пределами SSH-туннеля такой конфиг не сработает, потому что клиент попытается подключиться к самому себе.

Пример строки в исходном виде:

vless://b037ff83-dd81-4ed3-a78d-55a163d3523e@localhost:36970?type=tcp&security=reality&pbk=…#ltr9asgs0

В этом случае localhost нужно заменить на внешний IP-адрес сервера — тот же, который использовался в SSH-команде. Вместо IP можно подставить и домен, если он указывает на этот сервер.

Корректный вариант будет выглядеть так:

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 и завершить его вручную.

Похожее

Все статьи
3629651 812 (3) (1)

Что такое протокол IPv6

При работе в интернете мы редко задумываемся о том, как именно пакеты данных находят путь к нашему устройству. На самом деле за этим стоит строгая система адресации. Каждому гаджету, от Смартфону, игровому компьютеру, умному чайнику и холодильнику — всем этим гаджетам…

Kevin Ache 2jj3wbhu4 0 Unsplash

Что такое хостинг простыми словами

Когда человек впервые решает сделать сайт, он почти сразу сталкивается с двумя словами: домен и хостинг. На старте они часто звучат как что-то одинаково техническое и не очень понятное. Но если убрать лишние термины, всё довольно просто. Что такое домен…