Centos 7 vnc server настройка

Обновлено: 03.07.2024

Вычисление VNC или Виртуальной сети является графическим настольным инструментом совместного использования, который позволяет Вам управлять компьютером (сервер) удаленно от другого компьютера (клиент). Сервер VNC передает все события клавиатуры и события от нажатия мыши с клиентского компьютера на сервер. Если Вы еще не довольны вещами CLI как терминал и т.д., можно использовать VNC, чтобы облегчить управлять файлами, программным обеспечением и параметрами настройки системы.

В этом учебном руководстве я покажу Вам постепенный о том, как настроить сервер VNC на CentOS 7. Мы установим рабочий стол XFCE Linux на сервере, затем установим и настроим использование сервера VNC TigerVNC.

Предпосылки

  • CentOS 7
  • Полномочия пользователя root

Что мы сделаем

  1. Обновите систему CentOS и создайте пользователя Linux.
  2. Установите рабочий стол XFCE и TigerVNC.
  3. Начальная конфигурация VNC.
  4. Настройте TigerVNC.
  5. Выполните TigerVNC как услуга.
  6. Соединитесь с сервером VNC через туннель SSH.

Шаг 1 – Обновление CentOS и добавляет пользователя Linux

Прежде чем мы запустим установку и настройку сервер VNC, обновите свой CentOS с помощью вкусной команды.

Для этого руководства рабочий стол VNC будет доступен некорневому пользователю. Так, мы должны создать нового пользователя и добавить его к группе 'колеса' для корневого доступа.

Добавьте нового пользователя, использующего команду ниже. Я выберу имя пользователя ‘edward’ в этом примере.

Введите в новом пароле пользователя.

Теперь добавьте пользователя для 'вертения' группы для доступа команды sudo.

В конце концов, это сделано, вход в систему как ‘edward’ и затем выполнено ‘sudo su’ команда.

Введите ‘edward’ пароль пользователя и удостоверьтесь, что Вы получаете права пользователя root.


Шаг 2 – устанавливает рабочий стол XFCE и TigerVNC

Linux имеет несколько настольных сред, таких как Gnome, Единица, KDE, LXDE, XFCE и т.д. Для этого учебного руководства мы будем использовать рабочий стол XFCE в качестве нашей настольной среды VNC. XFCE является легким deskto, который хорошо подходит для серверной среды.

Прежде, чем установить рабочий стол XFCE, установите последний репозиторий EPEL.

Теперь установите рабочий стол XFCE с помощью вкусной команды ниже.

После того, как установка завершена, установите пакет 'tigervnc-сервера'.

Ожидайте, пока установка не завершена.

Рабочий стол XFCE с TigerVNC был установлен.

Шаг 3 – начальная конфигурация VNC

На этом шаге мы генерируем vnc конфигурацию для пользователя ‘edward’.

Теперь инициируйте vnc конфигурацию для ‘edward’ использование следующей команды.

Вас попросят vnc пароля сервера – вводят в Вашем пароле. Для пароля 'только для представления' можно включить или отключить его. Пользователь, который входит в систему сервера с помощью пароля 'только для представления', не будет в состоянии управлять мышью и клавиатурой.


В первый раз, когда мы выполняем команду ‘vncserver’, она автоматически создаст новый каталог конфигурации ‘.vnc’ и выполнит первую vnc сессию.

И Вы доберетесь, первая vnc сессия работает, как показано ниже.


Шаг 4 – настраивает TigerVNC

На этом шаге мы настроим сервер VNC для использования рабочего стола XFCE. Мы отредактируем конфигурационный файл VNC ‘xstartup’ под ‘.vnc’ каталог.

Прежде, чем отредактировать vnc конфигурацию, уничтожьте первую vnc сессию с помощью команды ниже.

Теперь скопируйте конфигурацию по умолчанию и создайте новую с помощью энергии.

Вставьте конфигурацию ниже.

Сохраните и выйдите.

Затем, скопируйте конфигурацию ‘Xresources’ по умолчанию в ‘edward’ пользовательском корневом каталоге.

И сделайте ‘xstartup’ исполняемый файл сценария путем изменения его прав доступа. Тогда выполните команду ‘vncserver’ снова.

Новая vnc сессия работает с нашим настольным XFCE по умолчанию.


Проверьте его с помощью команды ниже.


Шаг 5 – рабочий TigerVNC как услуга

В этом учебном руководстве мы выполним сервер VNC как услуга. Таким образом, мы должны создать новый сервисный файл для него.

Goto ‘/etc/systemd/system’ каталог и создают новый сервисный файл ‘vncserver. сервис’.

Вставьте следующую конфигурацию там.

Сохраните энергия выхода и файл.

Теперь перезагрузите systemd и запустите серверную службу VNC.

Если Вы не получаете ошибки, включите сервису запуститься при начальной загрузке системы и проверить сервисное состояние с помощью systemctl.

Следующее является результатами в нашем случае.


Или можно проверить использование команды vncserver как показано ниже.


Установка Сервера VNC и конфигурация были завершены.

Шаг 6 – соединяется с сервером VNC через туннель SSH

На этом последнем шаге мы соединимся с нашим сервером VNC через туннель SSH.

Откройте окно терминала и тип в команде ssh как показано ниже.

Измените IP-адрес со своим собственным адресом сервера и введите ‘edward’ SSH пароль входа в систему.


Команда создаст туннель между Вашим localhost и сервером VNC. Порт 5901 на localhost будет передан серверу VNC ‘192.168.33.10’ на порте 5901.

Теперь откройте Ваш ‘vnc средство просмотра’ приложение, создайте новое соединение и введите адрес сервера VNC с 127.0.0.1 localhost IP и портом 5901 как показано ниже.


Соединитесь с сервером VNC, и Вас попросят пароля сервера VNC. Введите свой пароль и нажмите 'OK'.


Теперь Вы получите рабочий стол XFCE от своего сервера.


В этом руководстве мы рассмотрим, как установить и настроить VNC-сервер на операционной системе CentOS 7.x, чтобы разрешить удаленные подключения с любых VNC-клиентов, таких как TightVNC, RealVNC и других. В частности, мы сделаем это с помощью программного обеспечения TigerVNC Server — бесплатного инструмента, который позволяет пользоваться автономным виртуальным рабочим столом.

Введение

VNC (Virtual Network Computing) представляет собой клиент-серверный протокол, который позволяет клиентскому компьютеру (под управлением клиента VNC) подключаться и управлять удаленным компьютером (работающим на сервере VNC). Программное обеспечение было разработано исследовательской лабораторией Olivetti & Oracle в Кембридже, Великобритания, и его исходный код по-прежнему актуален и доступен под лицензией General Public License (GNU).

В зависимости от программного обеспечения сервера, VNC клиент будет подключаться к активному рабочему столу (например, как программы TeamViewer или AnyDesk) или к автономному виртуальному рабочему столу (как протокол удаленного рабочего стола Windows RDP). Последний, возможно, более мощный и безопасный, особенно если вам необходимо управлять серверным компьютером, потому что каждый сеанс будет уникальной средой, настроенной с разрешениями и правами подключаемого пользователя. Вот почему мы выбираем TigerVNC, который выполняет запуск параллельных сеансов среды рабочего стола компьютера (GNOME, KDE или другой GUI): это значит, что виртуальный рабочий стол будет создан для каждого отдельного подключения — это именно то, чего мы хотим.

Установка TigerVNC

Теперь давайте разберемся, как мы можем установить и настроить TigerVNC в CentOS. Первое, что нужно сделать, это установить программу TigerVNC Server, открыв сеанс терминала и введя следующую команду с правами root:

$ sudo yum install tigervnc-server

Сразу после этого вам необходимо создать отдельного пользователя VNC, с которого и будет осуществляться подключение (с выделенным паролем). Для этого введите следующее:

$ sudo adduser vncuser
$ sudo passwd vncuser

Важно: никогда не делайте этого от имени root-пользователя — это создаст серьезную угрозу безопасности вашей системы. Лучшим решением будет оставить пользователя root без доступа к VNC и настроить выделенную учетную запись с ограниченными правами.

После того как вы создали vncuser и задали пароль для входа в систему, вам также необходимо установить уникальный пароль VNC для этого пользователя. Это можно сделать с помощью следующей команды:

$ su - vncuser
$ vncpasswd

(первая строка может быть опущена, если мы уже вошли под пользователем vncuser заранее).

Следующее, что нужно сделать, это создать файл конфигурации VNC для vncuser. Самый быстрый способ сделать это — скопировать файл общего шаблона VNC, расположенный в папке /lib/systemd/system/, — и затем изменить его:

$ cp /lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver@:1.service

Цифра «1», которую мы добавили в новое имя файла, — это номер дисплея, который будет использоваться для этого конкретного экземпляра службы. Это важно знать, потому что он также определит порт TCP, который будет использоваться нашим VNC-сервером, равным 5900 + номер дисплея. Первый будет 5901, затем 5902 и так далее.

Сразу после копирования вам нужно отредактировать новый файл с помощью Vi, Nano или другого текстового редактора, и заменить [USER] на имя пользователя, созданного недавно (в нашем случае vncuser). Вот как файл должен выглядеть после обновления (за исключением длинной закомментированной части в начале):

Как только вы это сделаете, можете перезагрузить демон VNC и запустить vncserver@1 с помощью следующих команд:

$ systemctl daemon-reload
$ systemctl start vncserver@:1

Прежде чем продолжить, проверьте, запущена ли служба, введя команду systemctl status:

$ systemctl status vncserver@:1

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

$ systemctl enable vncserver@:1

Еще одна проверка, которую вы можете выполнить, прежде чем пытаться подключиться к серверу, — это посмотреть на активные сетевые сокеты с помощью команды ss: если все работает правильно, вы должны увидеть, что VNC-сервер работает и использует порт TCP 5901. Выполните команду:

$ ss -tulpn| grep vnc

Результат должен быть следующим:

tcp LISTEN 0 5 *:5901 *:* users:(("Xvnc",pid=38344,fd=9))
tcp LISTEN 0 128 *:6001 *:* users:(("Xvnc",pid=38344,fd=6))
tcp LISTEN 0 5 . 5901 . * users:(("Xvnc",pid=38344,fd=10))
tcp LISTEN 0 128 . 6001 . * users:(("Xvnc",pid=38344,fd=5))

Если вы видите это, значит все настроено правильно.

Настройка файрвола

Поскольку наша служба VNC прослушивает порт TCP 5901, вы должны быть уверены, что такой порт открыт и доступен внешним клиентам. Поэтому если у вас установлен брандмауэр, вы должны создать соответствующее правило, позволяющее подключаться клиентам VNC.

Сколько открыть портов, будет зависеть от того, сколько экземпляров VNC-серверов вам понадобится. В нашем сценарии мы сделали только 1, поэтому вам нужно открыть только первый выделенный порт VNC: TCP 5901, как мы уже и говорили. Команда, чтобы открыть этот порт на Firewalld:

Не будет лишним упомянуть, что вы также можете ограничить этот порт для определенных групп, IP-адресов, сетевых карт или других простых или сложных правил брандмауэра.

Установка графического интерфейса (GUI)

Если у вас уже есть GNOME, KDE или другие установленные среды рабочего стола, вы можете пропустить этот шаг. В противном случае вам необходимо установить один из них: сервер TigerVNC будет запускать параллельный экземпляр данной среды рабочего стола для каждого сеанса входа в систему, что означает, что у нас должен быть хотя бы один GUI.

GNOME

Если вы хотите действительно отличный, но тяжеловесный интерфейс GNOME, введите следующее:

$ sudo yum groupinstall "GNOME Desktop"

Если вам нужна легкая альтернатива, мы можем предложить Xfce — бесплатную среду с открытым исходным кодом для Unix-подобных платформ, которая прекрасно работает с TigerVNC. GNOME также отлично работает, но он довольно ресурсоемкий: если вы хотите сэкономить ресурсы на своей серверной машине, Xfce, возможно, будет лучшим выбором. Чтобы установить его, введите следующее:

$ yum install epel-release
$ yum groupinstall xfce

Дополнительные настройки для Xfce

Если вы решили использовать Xfce, вам также потребуется изменить файл, который выполнялся при запуске сеанса VNC. Для этого отредактируйте файл:
/home/<user>/.vnc/xstartup
и измените запись exec (обычно строка 4) с etc/X11/xinit/xinitrc на startxfce4, как показано ниже:

Соединение с клиентом VNC

Теперь, когда все настроено, мы можем попытаться подключиться к нашей службе VNC с помощью клиента VNC, такого как TightVNC, UltraVNC или RealVNC, и посмотреть, что произойдет. Не забудьте указать порт TCP 5901 (если вы следовали нашему руководству).

Возможные проблемы

Если ваш клиент не может установить работающее соединение VNC, вам необходимо проверить следующее:

1. Проблемы с соединением — Конфигурация брандмауэра: если вы видите всплывающие ошибки о том, что клиент не может подключиться к удаленному хосту, вам необходимо проверить конфигурацию вашей сети и брандмауэра, чтобы убедиться, что нет проблем с блокировкой, которые могут помешать клиенту подключиться к порту сервера TCP 5901.

2. Черный экран с мышью — обновление YUM или переустановка графического интерфейса: если вы видите черный экран с работающим указателем мыши, это, вероятно, означает, что ваше VNC-соединение работает нормально, но есть что-то, что мешает правильному запуску графического интерфейса рабочего стола. Для исправления:

Favorite

Добавить в избранное

Главное меню » Операционная система CentOS » Как установить и настроить VNC на CentOS 7

(3 оценок, среднее: 5,00 из 5)

Как установить и настроить VNC на CentOS 7

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

Виртуальная сетевая вычислительная система (VNC) представляет собой графическую систему совместного использования компьютеров, которая позволяет использовать клавиатуру и мышь для удаленного управления другим компьютером.

Предпосылки

Прежде чем продолжить обучение, убедитесь, что вы вошли в систему как пользователь с привилегиями sudo. Предположим, что вы вошли в систему под именем пользователя. andreyex .

Установка среды рабочего стола Xfce

Установка CentOS-сервера часто не связана с установленной настольной средой, поэтому мы начнем с установки легкой рабочей среды.

В этой статьи мы установим Xfce. Он быстрый, стабильный и низкий на системных ресурсах, что делает его идеальным для использования на удаленных серверах.

Пакеты Xfce доступны в репозиториях EPEL. Если на вашем сервере нет репозитория EPEL, вы можете сделать это, набрав:

После добавления репозитория установите Xfce на свой сервер CentOS, набрав:

В зависимости от вашей системы, загрузка и установка пакетов и зависимостей Xfce может занять некоторое время.

Установка VNC-сервера

Введите следующую команду для установки TigerVNC на вашем сервере CentOS:

Вам будет предложено ввести и подтвердить пароль и установить его как пароль только для просмотра. Если вы решите настроить пароль только для просмотра, пользователь не сможет взаимодействовать с экземпляром VNC с помощью мыши и клавиатуры.

При первом запуске команды vncserver он создаст и сохранит файл пароля в каталоге

/.vnc , который будет создан, если он отсутствует.

Обратите внимание, что :1 после имени хоста в выводе выше. Это указывает номер порта дисплея, на котором запущен сервер vnc. В нашем случае сервер работает на TCP-порту 5901 (5900 + 1). Если вы создадите второй экземпляр, vncserver он будет запущен на следующем свободном порту, т. Е. :2 Это означает, что сервер работает на порту 5902 (5900 + 2).

Важно помнить, что при работе с серверами VNC :X используется порт отображения 5900+X .

Прежде чем перейти к следующему шагу, сначала остановите экземпляр VNC с помощью команды vncserver с параметром -kill и номером сервера в качестве аргумента. В нашем случае сервер работает в порту 5901 ( :1 ), поэтому мы остановим его:

Настройка сервера VNC

Теперь, когда и Xfce, и TigerVNC установлены на нашем CentOS-сервере, следующим шагом будет настройка TigerVNC для использования Xfce. Для этого откройте следующий файл:

И изменить последнюю строку exec /etc/X11/xinit/xinitrc на exec startxfce4 :

Сохраните и закройте файл. Приведенный выше сценарий будет автоматически запускаться при каждом запуске или перезапуске сервера TigerVNC.

Если вам нужно передать дополнительные параметры на сервер VNC, вы можете открыть файл

/.vnc/config и добавить один вариант на строку. Наиболее часто используемые параметры перечислены в файле. Раскомментируйте и измените по своему вкусу.

Создание файла unitd unit

Мы создадим системный файл systemd, который позволит нам легко запускать, останавливать и перезапускать службу VNC по мере необходимости, так же, как и любую другую службу systemd.

Откройте файл с помощью текстового редактора и замените его <USER> на фактическое имя пользователя.

Сохраните и закройте файл. Сообщите системе, что мы создали новый файл с помощью:

Число 1 после знака @ определяет порт отображения, на котором будет работать служба VNC, в нашем случае это значение по умолчанию, 1 и сервер VNC будет прослушивать порт, 5901 как мы обсуждали в предыдущем разделе.

Запустите службу VNC, выполнив:

Убедитесь, что служба успешно запущена:

Подключение к серверу VNC

VNC не является зашифрованным протоколом и может подвергаться сниффингу пакетов. Рекомендуемый подход заключается в создании туннеля SSH, который будет безопасно перенаправлять трафик с вашего локального компьютера на порт 5901 на сервер в том же порту.

Настройка туннелирования SSH на Linux и macOS

Если вы запускаете на вашем компьютере Linux, macOS или любую другую операционную систему на базе Unix, вы можете легко создать туннель SSH с помощью следующей команды:

Вам будет предложено ввести пароль пользователя.

Не забудьте заменить username и server_ip_address на ваше имя пользователя и IP-адрес вашего сервера.

Настройка SSH-туннелирования в Windows

Если вы запустите Windows, вы можете настроить туннелирование SSH с помощью клиента PuTTY SSH.

Откройте Putty и введите IP-адрес вашего сервера в поле Host name or IP address .

Как установить и настроить VNC на CentOS 7

Затем из окна Category: разверните SSH и выберите Tunnels . Введите порт сервера VNC ( 5901 ) в поле Source Port и введите server_ip_address:5901 в поле Destination и нажмите кнопку Add , как показано на рисунке ниже:

Как установить и настроить VNC на CentOS 7

Вернитесь на страницу Session , чтобы сохранить настройки, чтобы вы не вводили их каждый раз. Теперь вам нужно всего лишь выбрать сохраненный сеанс и войти на удаленный сервер, нажав на кнопку Open .

Подключение с помощью Vncviewer

Теперь, когда вы настроили туннелирование SSH, пришло время открыть Vncviewer и подключиться к VNC-серверу localhost:5901 .

Вы можете использовать любые средства просмотра VNC, такие как TigerVNC, TightVNC, RealVNC, UltraVNC Vinagre и VNC Viewer для Google Chrome.

В этом примере мы будем использовать TigerVNC. Откройте средство просмотра VNC, введите localhost:5901 и нажмите кнопку Connect .

Как установить и настроить VNC на CentOS 7

Введите пароль при появлении запроса, и вы увидите рабочий стол по умолчанию Xfce. Он должен выглядеть примерно так:

Как установить и настроить VNC на CentOS 7

Теперь вы можете начать взаимодействие с удаленным рабочим столом XFCE на вашей локальной машины с помощью клавиатуры и мыши.

Вывод

К настоящему моменту вы должны запустить сервер VNC, и вы можете легко управлять своим сервером CentOS 7 с помощью графического интерфейса.

Чтобы настроить VNC-сервер для запуска отображения для нескольких пользователей, создайте начальную конфигурацию и настройте пароль с помощью команды vncserver и создайте новый файл службы с помощью другого порта.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.


Virtual Network Computing (VNC) – система управления удалённым рабочим столом, использующая протокол RFB ( Remote FrameBuffer , англ. «удалённый кадровый буфер»). Соединение осуществляется между двумя устройствами: клиентом (управляющее) и сервером (подчиняющееся).

Взаимодействие между системами происходит путём передачи откликов с периферии клиента (мышь, клавиатура и т. д.) и ретрансляции изображения с удалённого компьютера. Для создания сессии, на каждой из сторон должно быть установлено соответствующее ПО: VNC-клиент (VNC Viewer) и VNC-сервер (VNC Server).

Подробнее узнать, что из себя представляет технология управления удалённым рабочим столом можно здесь.

Далее будет рассказано о том, как установить VNC на Linux и обезопасить подключение. Инструкция подойдёт для двух популярных дистрибутивов: Ubuntu (18.04 и 20.04) и CentOS 7. В качестве VNC-сервера будет использоваться TightVNCServer.

Подготовка

Обновление компонентов

Перед началом выполнения каких-либо действий нужно обновить компоненты системы. Для CentOS также будет установлены дополнительные пакеты: EPEL репозиторий и текстовой редактор Nano.

Ubuntu

CentOS

Установка окружения

Управление системой через подключение VNC осуществляется посредством графической среды. За основу в статье будет взято окружение XFCE, стабильно работающее в связке с TightVNCServer. Чтобы установить эту оболочку со всеми дополнениями, нужно ввести следующую команду в терминал:

Ubuntu

CentOS

Установка TightVNCServer

Инсталлировать пакет TightVNCServer вместе с зависимостями можно командой:

Ubuntu

CentOS

Настройка фаервола CentOS

На серверах под управлением CentOS брандмауэр по умолчанию блокирует доступ к сети сторонним программам. Чтобы дать разрешение TightVNCServer открывать сетевые порты, понадобится ввести команду:

Теперь нужно применить изменения:

Настройка VNC-сервера

Для начала необходимо произвести «пробный» запуск TightVNCServer, чтобы программа создала конфиги, которые позже понадобятся для настройки VNC. Все файлы сохраняются в домашней папке пользователя, от имени которого запускается программа.

Запустить VNC-сервер можно следующей командой:

TightVNCServer

Далее программа попросит придумать пароль (от 6 до 8 символов), который в дальнейшем будет использоваться для подключения к сессии VNC.

Сменить пароль можно в любой момент командой «vncpasswd».

А также пользователю будет задан вопрос: «Would you like to enter a view-only password (y/n)?» («Вы хотите ввести пароль только для просмотра (да/нет)?») Функция позволяет подключиться к сессии для демонстрации. То есть пользователь будет видеть всё, что происходит на экране, но не сможет управлять удалённым компьютером. Если применять возможность не планируется, то стоит выбрать ответ «n» («нет»).

Подготовка VNC для работы с окружением XFCE

Чтобы при подключении к сессии запускалась графическая среда, необходимо выполнить настройку VNC для работы с XFCE.

Не стоит забывать, что все действия требуется выполнять с одной и той же учётной записи Linux.

Для начала нужно остановить работающий дисплей. Чуть раньше говорилось, что ему присвоен порядковый номер «1», поэтому команда составляется следующим образом:

Теперь нужно удалить старый конфигурационный файл, отвечающий за запуск графической оболочки:

И создать вместо него новый:

Откроется пустой документ, в который необходимо добавить следующий код:

Ubuntu

CentOS

Для сохранения нужно воспользоваться сочетанием клавиш «Ctrl+X», затем «Y» и подтвердить внесений изменений нажатием «Enter».

Остаётся сделать созданный файл исполняемым:

Настройка автозапуска

Для начала нужно создать скрипт, при выполнении которого будет запускаться TightVNCServer с определённым набором параметров:

Теперь в открывшийся пустой файл нужно занести следующий код:

Переменные, на которые стоит обратить внимание:

  • «DISPLAY» – номер запускаемой сессии;
  • «DEPTH» – глубина цвета;
  • «GEOMETRY» – разрешение экрана.

Остаётся сделать файл исполняемым, чтобы скрипт стал доступен для запуска:

Теперь можно использовать следующие простые команды, чтобы управлять VNC-сервером:

Скрипт готов, но теперь нужно сделать так, чтобы запуск производился каждый раз при загрузке системы. Для этого создаётся юнит:

В создаваемый файл вносится следующий код:

В переменную «User» вводится логин пользователя Linux, от имени которого будет запускаться VNC-сервер.

Теперь нужно сохранить файл и добавить созданную службу в автозагрузку:

Для применения настроек остаётся перезапустить демон systemd и VNC-сервер следующими командами:

Базовая настройка VNC выполнена. Подключиться к сессии можно уже сейчас, но рекомендуется сначала обезопасить соединение, если VNC планируется использовать в публичной сети.

Обеспечение безопасности VNC

Использовать VNC в «голом» виде не рекомендуется по нескольким причинам:

  • Отсутствие шифровки трафика.
  • На сервере открыты порты, которые может атаковать злоумышленник.
  • Пароль ограничен 8 символами.

Всё это делает использование VNC небезопасным. Но есть решение проблемы: туннелирование трафика через протокол SSH, который надёжнее реализован и поддерживает шифровку проходящих данных.

Настройка туннелирования трафика через SSH

Для начала нужно запретить доступ к VNC-серверу извне, чтобы исключить возможность атаки по открытому порту (5901, 5902 и т. д.). Для этого необходимо отредактировать скрипт, созданный на ранних этапах настройки TightVNCServer:

В файле заменяются строки:

«-localhost» – разрешает подключаться к порту только с самого сервера.

После сохранения скрипта необходимо перезагрузить VNC для применения изменений:

Подключение

Выполнить подключение с туннелированием трафика на Unix-системах можно с помощью встроенной консольной утилиты. Команда составляется следующим образом:

Значения, которые нужно изменить на собственные:

  • «user» – имя пользователя;
  • «xxx.xxx.xxx.xxx» – IP-адрес сервера.

Утилита запросит пароль для входа в учётную запись. Внешне подключение будет ничем не отличаться от обычного соединения с сервером через SSH. Туннелирование будет работать до тех пор, пока сессия не будет закрыта.

Windows

Установка соединения на Windows будет рассмотрена на примере распространённого клиента Putty.

Алгоритм подключения
  1. Открыть программу и перейти по пути: «Соединение» -> «SHH» -> «Туннели».
  2. В поле «Исходный порт» нужно ввести значение «5901», а в «Назначение» подставить «localhost:5901». Для применения параметров необходимо нажать «Добавить».Можно создать несколько таких профилей, изменив «5901» на значения других портов («5902», «5903» и т. д.), если планируется подключить сразу несколько сессий.
  3. Теперь можно вернуться в исходный раздел «Сеанс», ввести данные для подключения к серверу через SSH и нажать «Соединиться».

Чтобы заново не проходить операцию настройки каждый раз, можно сохранить параметры в профиль. Для этого нужно ввести произвольное имя в поле «Управление сеансами» и нажать «Сохранить».

  1. В открывшемся окне нужно ввести данные для подключения к серверу. Туннелирование начинает работать с этого момента и проходит незаметно для пользователя. Для поддержания соединения достаточно не прерывать сессию SSH.

Подключение к сессии VNC

Подключиться по VNC к Linux можно с помощью клиента TightVNC Viewer, который доступен для загрузки на официальном сайте. Для остальных программ алгоритм установки соединения будет аналогичен.

Сначала нужно открыть TightVNC Viewer и в поле «Remote Host» ввести внешний IP-адрес сервера и порт, разделяя их двоеточием («:»). Если подключение осуществляется с туннелированием трафика, то вместо IP-адреса подставляется стандартное значение локального хоста (например, «localhost» или «127.0.0.1»). Для установки соединения нужно нажать «Connect».

TightVNC Viewer

Откроется окно, в котором программа запросит пароль. Для подтверждения остаётся нажать «ОК».

Читайте также: