Удалённый рабочий стол (RDP / VNC) через туннель

Время · ~5 мин Уровень · Начальный Протокол · RDP 3389 / VNC 5901

Вам нужен полноценный графический рабочий стол машины без публичного IP — экран Windows-сервера по RDP или Linux-машины по VNC — и нужен он со своего компьютера, в привычном клиенте. Как всегда в LRO, порт рабочего стола остаётся привязан к localhost на удалённой машине; вы добираетесь до него по локальному порту на своей, через зашифрованный туннель. Порт 3389 никогда не смотрит в интернет.

Роли для этой задачи: машина, рабочий стол которой вам нужен — это Client (эндпоинт живёт на ней); ваш компьютер — это Support (он открывает локальный порт, к которому подключается ваш просмотрщик). Впервые здесь? Начните с вашего первого туннеля; не уверены, какая сторона есть какая — см. выбор роли агента.
  1. Убедитесь, что служба рабочего стола запущена

    На удалённой машине служба рабочего стола должна слушать локально:

    • Windows / RDP — включите Remote Desktop (System → Remote Desktop). Он слушает на 3389. Оставьте Network Level Authentication включённым.
    • Linux / VNC — запустите VNC-сервер (TigerVNC, x11vnc), привязанный к 127.0.0.1, обычно на 5901.
    $ ss -ltn | grep -E ':3389|:5901' # RDP and/or VNC listening locally

    Удалённая машина запускает агент LRO в режиме Client; ваш компьютер запускает его в режиме Support.

  2. Добавьте эндпоинт рабочего стола на агенте-клиенте

    В панели: Endpoints → Create endpoint (Эндпоинты → Создать эндпоинт). Выберите агента-клиента (удалённую машину), назовите его, например Office Desktop, и задайте target 127.0.0.1 и port 3389 (RDP) или 5901 (VNC).

    Endpoints list with an Office Desktop VNC endpoint on the client agent pointing at 127.0.0.1:5901
    Рис. 1. Эндпоинт рабочего стола живёт на агенте-клиенте — здесь VNC-дисплей на 127.0.0.1:5901.
  3. Откройте туннель со своей машины

    Tunnels → Add tunnel (Туннели → Добавить туннель). Выберите свой компьютер как агента support, укажите эндпоинт Office Desktop и задайте локальный порт — совпадение с дефолтом службы упрощает команду подключения. Создайте его; через мгновение он станет Active.

    Tunnels table with an active tunnel from lab-server to admin-laptop listening on 0.0.0.0:5901
    Рис. 2. Активный туннель — ваша машина слушает на 5901 и пересылает на удалённый рабочий стол.
  4. Подключитесь своим клиентом рабочего стола

    На своём компьютере направьте просмотрщик на локальный порт. Сессия попадёт на удалённый рабочий стол через туннель:

    Terminal showing vncviewer and xfreerdp/mstsc commands connecting to 127.0.0.1 through the tunnel
    Рис. 3. Подключение — VNC через vncviewer, RDP через xfreerdp или Windows mstsc, всё направлено на локальный порт.

    … и удалённый рабочий стол появляется, ровно так, будто машина стоит у вас на столе:

    The remote machine's desktop captured over the LRO tunnel, showing a terminal window and a clock
    Рис. 4. Удалённый рабочий стол, отрисованный на вашей машине через туннель — живая GUI-сессия, порт 5901 никогда не выставлен наружу.

Заметки

Доберитесь до любого рабочего стола где угодно — не выставляя RDP в интернет.

Создать аккаунт →