Как установить и настроить 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 и выполнять административные задачи, используя графический интерфейс пользователя, предоставляемый операционной системой.