SSH-туннель для защищенного подключения по протоколу VNC

    Команда Simple-Server
    03.06.2026
    6 мин

    Материал подготовлен командой Simple-Server для администраторов VPS и выделенных серверов. Команды и пути проверяйте на тестовой машине перед production.

    Предварительные требования

    • Сервер или виртуальная машина с установленным VNC. В качестве реализации VNC можно воспользоваться программой TightVNC. Мы описывали ее установку в отдельной статье.
    • Второй сервер или виртуальная машина с предустановленной ОС Linux с графической оболочкой. Использовать можно любой современный дистрибутив Linux. Также в качестве клиентского устройства можно использовать домашний компьютер или ноутбук с ОС Windows, причем можно использовать как домашние (Home) и профессиональные версии, так и редакции Windows Server.

    Создание SSH-туннеля при помощи стандартной утилиты ssh

    Для начала организуем SSH-туннель при помощи стандартного OpenSSH-клиента, который предустановлен по умолчанию практически во всех современных дистрибутивах Linux, а также в операционных системах семейства Windows, начиная с Windows 10 версии 1709 и выше, Windows 11, Windows Server 2019 и Windows Server 2022. Также на Windows системах можно использовать любые дистрибутивы WSL (Windows Subsystem for Linux — подсистема Linux для Windows). Команда используемая ниже одинакова будет работать как в Linux-дистрибутивах, так и в Windows:

    ssh -L 5901:localhost:5901 root@147.45.146.116
    • -L — ключ, отвечающий за проброс локального порта. При локальном пробросе происходит проброс порта из клиентского устройство на сервер. Все последующие установленные соединения на данный локальный порт будут проходить через SSH-туннель.
    • 5901:localhost:5901 — синтаксис для проброса удаленного порта. В данном примере мы сообщаем SSH, что хотим пробросить порт 5901 (порт VNC-сервера), который находится на удаленном сервере, с целью получить доступ до VNC-сервера. В свою очередь мы также открываем порт (в данном случае 5901) на своем устройстве (localhost).
    • root@147.45.146.116 — стандартный синтаксис для подключения по протоколу SSH вида логин@адрес_удаленного_сервера.

    После того как команда будет введена, система запросит пароль от используемого пользователя, и при правильном вводе вы попадете на сервер. После этого в системе будет организован SSH-туннель. Важно не отключаться от сервера, чтобы не оборвать SSH-сессию.

    Если необходимо запустить SSH-туннель в режиме «демона» (в фоновом режиме), то воспользуйтесь опциями -fNT, например:

    ssh -fNT -L 5901:localhost:5901 root@147.45.146.116
    • -f — после ввода пароля пользователя вместо приглашения к вводу оболочки запущенный процесс ssh перейдет в фоновой режим;
    • N — не выполнять никакую команду на удаленном сервере после запуска тоннеля;
    • T — отключает использование терминала.

    После того как SSH-туннель был успешно установлен, можно подключаться при помощи любой клиентской утилиты для VNC, например TightVNC Connection. Запускаем утилиту и в поле «Remote Host» вводим адрес localhost::5901:

    Обратите внимание на использование двух символов двоеточия после localhost — данная особенность применима только к программе TightVNC Connection.

    После ввода адреса нажимаем на кнопку «Connect». Программа запросит пароль от VNC-сессии, который задается на этапе настройки сервера VNC:

    После того как пароль будет введен, откроется окно с графическим интерфейсом сервера:

    Весь трафик от вашего устройства до сервера VNC теперь полностью защищен и зашифрован.

    Создание SSH туннеля при помощи PuTTY

    Помимо использования стандартной утилиты ssh, организовать туннель можно при помощи популярной клиентской утилиты для подключения к удаленным серверам — PuTTY. Для этого выполняем следующие шаги:

    1. Запускаем PuTTY и в главном меню заполняем следующие поля:
    • * Host Name (or IP address) — прописываем IP-адрес сервера VNC;
    * Port — задаем порт который использует SSH; * Saved Sessions — вводим любое имя для создаваемой сессии с целью ее дальнейшего сохранения и быстрого запуска SSH-туннеля.
    • Host Name (or IP address) — прописываем IP-адрес сервера VNC;
    • Port — задаем порт который использует SSH;
    • Saved Sessions — вводим любое имя для создаваемой сессии с целью ее дальнейшего сохранения и быстрого запуска SSH-туннеля.

    Далее нажимаем на кнопку «Save» чтобы сохранить текущую сессию:

    1. Далее в меню слева ищем раздел «Connection», раскрываем его и переходим в «Tunnels»:

    2. В открывшемся разделе заполняем следующую информацию:

    • * Source port — указываем порт, который будет открыт на клиентском устройстве, например 5901;
    * Destination — прописываем IP-адрес сервера VNC, а также порт VNC-сервера.
    • Source port — указываем порт, который будет открыт на клиентском устройстве, например 5901;
    • Destination — прописываем IP-адрес сервера VNC, а также порт VNC-сервера.

    После того как все данные введены, нажимаем на кнопку «Add»:

    1. Возвращаемся в главное меню PuTTY (раздел «Session») и подключаемся к серверу, нажав на кнопку «Open». При первом входе на сервер необходимо принять host key, нажав на кнопку «Accept»:

    2. После ввода пароль от учётной записи откроется терминал сервера:

    3. Не закрывая окно PuTTY сессии, открываем клиентское приложение, например, TightVNC Connection, и вводим адрес localhost:5901:

    После ввода пароля от VNC-сессии отобразится графический интерфейс сервера:

    Создание SSH туннеля при помощи MobaXterm

    Еще одной популярной программой на ОС Windows для удаленного подключения к серверам является MobaXterm. С ее помощью тоже можно организовать SSH-туннель. Для этого выполним следующие шаги:

    1. Запускаем программу и сверху ищем пункт «Tunneling»:

    2. При открытии окна с настройками туннеля убеждаемся, что выбрана опция «Local port forwarding», а также заполняем следующие данные:

    • * В разделе «My computer with MobaXterm» вводим локальный порт (5901), который будет открыт на устройстве;
    * В разделе «SSH server» прописываем адрес удаленного сервера VNC, логин и пароль для подключения к серверу; * В разделе «Remote server» указываем адрес `localhost` и порт `5901`.
    • В разделе «My computer with MobaXterm» вводим локальный порт (5901), который будет открыт на устройстве;
    • В разделе «SSH server» прописываем адрес удаленного сервера VNC, логин и пароль для подключения к серверу;
    • В разделе «Remote server» указываем адрес localhost и порт 5901.

    Для сохранения настроек нажимаем на кнопку «Save».

    1. В открывшемся окне нажимаем на кнопку запуска в разделе «Start/stop»:

    2. После того как SSH-туннель был запущен, переходим в раздел «Session»:

    В пункте «Remote hostname or IP address» вводим localhost, а в пункте «Port» вводим 5901:

    Для подключения нажимаем на кнопку «OK».

    После ввода пароля от VNC-сесиии откроется графическая оболочка сервера:


    Нужен сервер для практики? Арендуйте VPS/VDS в России — root-доступ, NVMe, DDoS-защита и поддержка 24/7.

    VPS для проекта

    VPS с root-доступом, NVMe и поддержкой 24/7 на Simple-Server.

    StarterVDS

    490

    в месяц

    1 ядро

    1 ГБ RAM

    20 ГБ NVMe

    • 1 IPv4
    • KVM
    • Root-доступ
    • Безлимитный трафик
    Заказать VPS
    Рекомендуем

    PerformanceVDS

    1190

    в месяц

    2 ядра

    4 ГБ RAM

    60 ГБ NVMe

    • 1 IPv4
    • KVM
    • Root-доступ
    • Базовая DDoS-защита
    Заказать VPS

    Нужна другая конфигурация или чистый VPS без панели?

    Все тарифы VPS

    Похожие статьи, которые могут быть вам интересны