Поиск по сайту:

Как установить и настроить VNC-сервер в CentOS и RHEL


В этом руководстве мы объясним, как установить и настроить Удаленный доступ VNC в CentOS 7/8 и RHEL 9/8/7 на рабочем столе. edition через программу tigervnc-server для доступа к компьютерам с удаленными рабочими столами.

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

В отличие от других доступных серверов VNC, которые подключаются напрямую к рабочему столу среды выполнения, таких как VNC X или Vino, tigervnc-vncserver > использует другой механизм, который настраивает автономный виртуальный рабочий стол для каждого пользователя.

Требования

  • Установка CentOS 8 со скриншотами
  • Процедура установки CentOS 7
  • Как установить RHEL 9 бесплатно
  • Как установить RHEL 8 бесплатно
  • Процедура установки RHEL 7

Шаг 1. Установите и настройте VNC в CentOS

1. Tigervnc-server — это программа, которая запускает сервер Xvnc и запускает параллельные сеансы Gnome или другого рабочего стола. среды на рабочем столе VNC.

Доступ к запущенному сеансу пользователя VNC может получить один и тот же пользователь из нескольких клиентов VNC. Чтобы установить сервер TigerVNC в CentOS/RHEL, откройте сеанс терминала и введите следующую команду yum с правами root.

sudo yum install tigervnc-server

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

Помните, что длина пароля должна быть не менее шести символов.

su - your_user
vncpasswd

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

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

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

4. На следующем шаге отредактируйте скопированный файл конфигурации шаблона VNC из каталога /etc/systemd/system/ и замените следующие значения, чтобы они отражали вашего пользователя, как показано ниже. образец.

Значение 1 после знака @ представляет номер дисплея (порт 5900+display). Кроме того, для каждого запущенного VNC-сервера порт 5900 будет увеличен на 1.

vi /etc/systemd/system/vncserver@\:1.service

Добавьте следующие строки в файл vncserver@:1.service.

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

[Service]
Type=forking
User=tecmint
Group=tecmint
WorkingDirectory=/home/tecmint
ExecStartPre=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'
ExecStart=/usr/bin/vncserver %i -geometry 1280x1024
PIDFile=/home/tecmint/.vnc/%H%i.pid
ExecStop=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'

[Install]
WantedBy=multi-user.target

5. После внесения необходимых изменений в служебный файл VNC перезагрузите программу инициализации системы systemd, чтобы получить новый файл конфигурации vnc и запустить сервер TigerVNC.

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

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

6. Чтобы получить список открытых портов в состоянии прослушивания, принадлежащих VNC-серверу, выполните команду ss, которая используется для отображения сетевых сокетов. Поскольку вы запустили только один экземпляр сервера VNC, первым открытым портом будет 5901/TCP.

Опять же, команду ss необходимо выполнять с правами root. Если вы параллельно запускаете другие экземпляры VNC для разных пользователей, значение порта будет 5902 для второго, 5903 для третьего и т. д. Порты 6000+ используются для подключения X-приложений к VNC-серверу.

ss -tulpn| grep vnc

7. Чтобы разрешить внешним клиентам VNC подключаться к VNC-серверу, вам необходимо убедиться, что правильным открытым портам VNC разрешено проходить через брандмауэр.

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

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

Шаг 2. Подключение к рабочему столу CentOS через VNC-клиент

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

Популярным клиентом VNC, используемым в операционных системах Microsoft и полностью совместимым с сервером Linux TigerVNC, является RealVNC VNC Viewer.

Чтобы удаленно подключиться к CentOS Desktop из ОС Microsoft по протоколу VNC, откройте программу VNC Viewer, добавьте IP-адрес и номер порта VNC-сервера CentOS и нажмите клавишу [enter].

После установки соединения VNC на вашем экране должно появиться предупреждение о том, что соединение не зашифровано, как показано на снимках экрана ниже.

9. Чтобы обойти предупреждение, нажмите кнопку Продолжить, добавьте настройку пароля для VNC-сервера в пункте 2, и вы должны быть удаленно подключены к CentOS Desktop с помощью пользователь настроен для запуска экземпляра сервера VNC.

10. Если на вашем экране появится новое сообщение Аутентификация, а у вашего пользователя нет root-прав, просто нажмите кнопку Отмена, чтобы продолжить работу с CentOS. Рабочий стол, как показано на скриншоте ниже.

Имейте в виду, что установленная связь VNC между сервером и клиентом и любой обмен данными (кроме пароля) осуществляется по незашифрованному каналу. Чтобы зашифровать и защитить передачу данных VPN, сначала необходимо настроить безопасный SSH-туннель и пропускать весь последующий VPN-трафик через SSH-туннель.

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

sudo yum install vinagre

12. Чтобы открыть утилиту vinagre, перейдите в Приложения -> Утилиты -> Средство просмотра удаленного рабочего стола, как показано на снимке экрана ниже.

13. Чтобы удаленно подключиться к рабочему столу CentOS, нажмите кнопку Подключиться, выберите протокол VNC из списка и добавьте IP-адрес. и порт (5900+отображаемый номер) удаленного VNC-сервера. Кроме того, укажите настройку пароля для пользователя VNC, как показано на следующих снимках экрана.

14. Еще один популярный клиент VNC для платформ на базе Linux — Remmina, клиент удаленного рабочего стола, который особенно используется в дистрибутивах на основе Debian, в которых работает среда рабочего стола GNOME.

Чтобы установить клиент Remmina Remote Desktop в дистрибутивах на базе Debian, введите следующую команду.

sudo apt-get install remmina

Шаг 3. Настройка нескольких сеансов VNC в CentOS

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

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

vncserver

16. Новые сеансы VNC откроют следующие доступные порты на базе VNC (в этом примере отображается 5900+3). Чтобы отобразить открытые порты, выполните команду ss без привилегий root, как показано в приведенном ниже фрагменте. В нем будут перечислены только запущенные сеансы VNC, принадлежащие вашему пользователю.

ss -tlpn| grep Xvnc

17. Теперь удаленно подключитесь к CentOS Desktop, используя этот новый сеанс VNC, и укажите комбинацию IP:порт (192.168.1.23:5903) в клиенте VNC, как показано на рисунке ниже.

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

su - your_user
killall Xvnc

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