VNC (Virtual Network Computing) – это популярная платформа для графического общего доступа к рабочему столу, которая позволяет удаленно получать доступ, просматривать и контролировать другие компьютеры в сети.

VNC использует протокол Remote Frame Buffer (RFB) и работает по принципу клиент-сервер: сервер совместно использует свои выходные данные (vncserver), а клиент (vncviewer) подключается к серверу.

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

В этой статье мы расскажем, как установить и настроить VNC Remote Access в последней версии RHEL 8 Desktop с помощью программы tigervnc-server.

Шаг 1. Отключение Wayland Display Manager и включение X.org

1. Средой рабочего стола по умолчанию (DE) на RHEL 8 является GNOME, которая по умолчанию настроена на использование диспетчера отображения Wayland.

Тем не менее, Wayland не является API удаленного рендеринга, как X.org.

Итак, вам нужно настроить систему на использование диспетчера отображения X.org.

Откройте файл конфигурации GNOME Display Manager (GDM), используя ваш любимый редактор командной строки.

# vi /etc/gdm/custom.conf

Затем раскомментируйте эту строку, чтобы заставить экран входа использовать Xorg.

WaylandEnable=false

Сохраните файл и закройте его.

Шаг 2: Установите VNC-сервер в RHEL 8

2. TigerVNC (Tiger Virtual Network Computing) – это широко используемая система с открытым исходным кодом для графического общего доступа к рабочему столу, которая позволяет удаленно управлять другими компьютерами.

# dnf install tigervnc-server tigervnc-server-module

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

# su - tecmint
$ vncpasswd

.

Теперь вернитесь к учетной записи root, выполнив команду exit.

$ exit

Шаг 3 Настройте VNC-сервер в RHEL 8

4. На этом шаге необходимо настроить сервер TigerVNC для запуска отображения для указанного выше пользователя в системе.

Начинайте с создания файла конфигурации с именем /etc/systemd/system/vncserver@.service следующим образом.

Добавьте в него следующую конфигурацию (не забудьте заменить tecmint своим реальным именем пользователя).

[Unit] 
Description=Remote desktop service (VNC) 
After=syslog.target network.target 

[Service] 
Type=forking 
WorkingDirectory=/home/tecmint 
User=tecmint 
Group=tecmint 

PIDFile=/home/tecmint/.vnc/%H%i.pid 

ExecStartPre=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :' 
ExecStart=/usr/bin/vncserver -autokill %i 
ExecStop=/usr/bin/vncserver -kill %i 

[Install] 
WantedBy=multi-user.target

Сохраните файл и закройте его.

Прежде чем двигаться дальше, давайте просто посмотрим на список серверов VNC.

По умолчанию VNC использует TCP-порт 5900 + N, где N – номер дисплея.

Если номер дисплея равен 1, то сервер VNC будет работать с номером порта дисплея 5901.

Это порт, который вы должны использовать при подключении к серверу с клиента.

Шаг 4: Включите службу VNC в RHEL 8

5. Чтобы запустить службу VNC, вам нужно отключить SELinux, который по умолчанию работает в RHEL 8.

# setenforce 0
# sed -i 's/enforcing/disabled/g' /etc/selinux/config

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

# systemctl daemon-reload
# systemctl start vncserver@:1
# systemctl status vncserver@:1
# systemctl enable vncserver@:1

7. На этом этапе служба VNC запущена и работает, убедитесь, что VNC-сервер прослушивает TCP-порт 5901, используя команду netstat.

# netstat -tlnp

8. Затем откройте порт 5901 в системе с помощью брандмауэра, который работает по умолчанию, как показано далее.

Это позволяет получить доступ к услуге VNC от клиентов.

# firewall-cmd --permanent --add-port=5901/tcp
# firewall-cmd --reload

Шаг 5: Подключение к VNC-серверу через VNC-клиент

9. Теперь пришло время взглянуть на VNC-сервер со стороны клиента.

VNC не является безопасной системой, по умолчанию ваши соединения вообще не зашифрованы.

Но вы можете защитить соединения от клиента к серверу, используя технику, известную как туннелирование SSH, как описано ниже.

SSH-аутентификация между сервером и клиентским компьютером для повышения доверия между двумя системами Linux.

Затем на клиентской машине Linux откройте окно терминала и вызовите туннель SSH к серверу VNC (~/.ssh/rhel8) и IP-адресу (192.168. 56.110) сервера соответственно):

$ ssh -i ~/.ssh/rhel8 -L 5901:127.0.0.1:5901 -N -f -l tecmint 192.168.56.110

10. После создания туннеля SSH вы можете установить клиент vncviewer как TigerVNC Viewer на клиентском компьютере.

$ sudo apt install tigervnc-viewer         #Ubuntu/Debian
# yum install tigervnc-viewer              #CnetOS/RHEL
# yum install tigervnc-viewer              #Fedora 22+
$ sudo zypper install tigervnc-viewer      #OpenSUSE
# pacman -S tigervnc                       #Arch Linux

11. После завершения установки запустите клиент VNC, укажите адрес localhost:5901 для подключения к дисплею 1 следующим образом.

$ vncviewer localhost:5901
или
$ vncviewer 127.0.0.1:5901

Или же найдите и откройте клиентскую программу VNC из системного меню, затем введите адрес, указанный выше, и нажмите «connect», как показано на следующем снимке экрана.

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

Укажите его и нажмите OK, чтобы продолжить.

После успешной аутентификации сервера VNC вам будет представлен интерфейс удаленного рабочего стола системы RHEL 8.

Нажмите Enter, чтобы получить доступ к интерфейсу входа и предоставить свой пароль для доступа к рабочему столу.

В этой статье мы показали, как установить и настроить VNC-сервер на RHEL 8.

Как обычно, вы можете оставлять вопросы через форму обратной связи ниже.

 

Поделитесь статьей:

Добавить комментарий