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

Как установить VNC-сервер на Rocky Linux


На этой странице

  1. Предпосылки
  2. Установка среды рабочего стола
  3. Добавление пользователя VNC
  4. Установка сервера TigerVNC
  5. Запуск VNC-сервера
  6. Настройка брандмауэра
  7. Подключение к серверу VNC через безопасный туннель SSH
  8. Выводы

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

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

В этом руководстве вы настроите сервер VNC с помощью TigerVNC на сервере Rocky Linux. Вы также узнаете, как безопасно подключиться к серверу VNC через туннелирование SSH.

Предпосылки

Для выполнения этого руководства вам понадобится сервер со следующими требованиями:

  • Новый сервер Rocky Linux. Вы можете использовать Rocky Linux v8.5 или v9.
  • Пользователь без полномочий root с правами root или администратора.
  • На сервере включен брандмауэр.

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

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

В Rocky Linux есть несколько групп пакетов, которые обеспечивают среду рабочего стола. В этом примере вы установите и настроите XFCE в качестве среды рабочего стола для сервера VNC в системе Rocky Linux.

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

sudo dnf update

Теперь добавьте репозиторий EPEL в вашу систему Rocky Linux с помощью приведенной ниже команды dnf. Введите Y, чтобы добавить репозиторий EPEL, и нажмите ENTER.

sudo dnf epel-release

Затем вы установите Desktop Environment XFCE через групповой пакет Xfce, предоставленный репозиторием Rocky Linux. Кроме того, вы установите групповой пакет «base-x», который содержит пакеты Xorg.

sudo dnf groupinstall "Xfce" "base-x"

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

После установки рабочего стола XFCE и base-x включите графическую среду с помощью команды systemctl ниже. Это включит графическую среду при запуске сервера.

sudo systemctl set-default graphical

Добавление пользователя VNC

В целях безопасности рекомендуется использовать пользователя без полномочий root для запуска сервера VNC. Вы должны создать выделенных пользователей, которые будут запускать сервер VNC. Если вы, как пользователь, нуждаетесь в привилегиях sudo, вы можете добавить своего пользователя в группу \wheel\.

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

sudo useradd -m -s /bin/bash jane
sudo passwd jane

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

sudo usermod -aG wheel jane

После установки XFCE Desktop Environment и создания пользователя VNC вы начнете установку и настройку TigerVNC.

Установка сервера TigerVNC

Чтобы настроить сервер VNC, необходимо установить программное обеспечение сервера VNC. В этом примере вы установите и будете использовать \TigerVNC Server\, который доступен по умолчанию в репозитории Rocky Linux.

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

Запустите команду dnf ниже, чтобы установить пакет «tigervnc-server» в систему Rocky Linux. Введите Y, когда будет предложено подтвердить установку, и нажмите ENTER, чтобы продолжить.

sudo dnf install tigervnc-server

После завершения установки вы затем настроите сервер VNC для каждого пользователя (пользователей VNC).

Войдите под своим пользователем, используя следующую команду.

su - jane

Теперь выполните следующую команду, чтобы инициализировать сервер VNC для пользователя «jane». Во время инициализации сервера VNC вам будет предложено создать пароль для вашего сервера VNC, поэтому введите надежный пароль и повторите. А для «пароля только для просмотра» введите «n», чтобы отключить его.

vncserver

Эта команда создаст конфигурации сервера VNC, которые будут расположены в \~/.vnc\. Конфигурации сервера VNC включают сценарий xstartup, конфигурацию среды рабочего стола и журналы для процесса VNC.

Кроме того, вы можете видеть, что новый процесс VNC работает с таким именем, как \HOSTNAME:N\, что означает системное имя хоста и номер рабочего стола/дисплея :N.

Проверьте список процессов VNC с помощью приведенной ниже команды vncserver. Вы должны увидеть, что процесс VNC дисплея \:1\ запущен.

vncserver -list

Теперь вы должны завершить текущий процесс VNC \:1\, чтобы настроить среду рабочего стола XFCE. Запустите приведенную ниже команду vncserver, чтобы остановить процесс VNC на дисплее \:1\.

vncserver -kill :1

После завершения процесса VNC вы должны получить выходное сообщение, такое как «Уничтожение идентификатора процесса Xvnc PID».

Теперь, когда вы сгенерировали конфигурации сервера VNC, откройте файл \~/.vnc/config\ с помощью редактора nano.

nano ~/.vnc/config

Измените конфигурацию по умолчанию, как показано ниже. В этом примере вы будете использовать XFCE в качестве среды рабочего стола по умолчанию для сервера VNC, и когда пользователь подключается к серверу VNC, экран дисплея по умолчанию — «1920x1200». Сервер VNC будет работать только на локальном хосте и включать общие рабочие столы.

session=xfce
geometry=1920x1200
localhost
alwaysshared

Сохраните файл и выйдите из редактора, когда закончите.

Затем нажмите Ctrl+d и вернитесь к сеансу пользователя root. Затем откройте файл /etc/tigervnc/vncserver.users с помощью редактора nano.

sudo nano /etc/tigervnc/vncserver.users

Добавьте номер дисплея и пользователя VNC, как показано ниже. В этом примере дисплей \:1\ будет использоваться для запуска сервера VNC для пользователя \jane\.

:1=jane

Сохраните файл и выйдите из редактора, когда закончите.

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

Запуск VNC-сервера

Сервер TigerVNC предоставляет динамические служебные файлы systemd, что означает, что у каждого дисплея или пользователя есть своя служба systemd. В этом примере пользователь \jane\ запускает сервер VNC с отображением \:1\, поэтому файл службы будет \[email :1.service.

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

sudo systemctl daemon-reload

Затем запустите и включите \[email :1.service\ для дисплея \:1\, используя следующую команду systemctl. Это позволит отображать процесс сервера VNC \:1\ автоматически при загрузке.

sudo systemctl start :1.service

Наконец, проверьте \[email :1.service\, чтобы убедиться, что служба работает.

sudo systemctl status :1.service

Если служба \[email :1.service\ запущена, вы должны увидеть результат, аналогичный следующему снимку экрана.

На этом вы завершили установку и настройку сервера VNC через \Tiger-VNC\ на сервере Rocky Linux. Вы также настроили XFCE в качестве среды рабочего стола по умолчанию для сервера VNC. Далее вы настроите Firewalld для защиты сервера VNC.

Настройка брандмауэра

На сервере Rocky Linux по умолчанию установлен и включен firewalld. Вы добавите новую службу \vnc-server\ в firewalld.

Добавьте службу \vnc-server\ в брандмауэр с помощью команды firewall-cmd ниже. Затем перезагрузите правила firewalld, чтобы применить новые изменения.

sudo firewall-cmd --add-service=vnc-server --permanent
sudo firewall-cmd --reload

Наконец, проверьте список правил firewalld, используя приведенную ниже команду. Если вы видите службу \vnc-server\ в списке услуг, то правило службы добавлено и включено.

sudo firewall-cmd --list-services

Подключитесь к VNC-серверу через безопасный SSH-туннель

Чтобы начать туннелирование SSH, выполните приведенную ниже команду ssh. В этом примере вы создадите новое туннелирование на IP-адрес сервера VNC \192.168.5.100\ с пользователем \jane\ на локальный хост на порте TCP \5901\, который является тем же портом сервер VNC.

ssh -L 5901:127.0.0.1:5901 -N -f -l jane 192.168.5.100

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

Откройте программу просмотра VNC на локальном компьютере. В этом примере мы будем использовать программу просмотра TigerVNC.

В адресе \VNC Server\ введите хост как localhost или 127.0.0.1 с портом 5901. Затем нажмите \Подключить\, чтобы продолжить.

Теперь введите пароль сервера VNC для вашего пользователя и нажмите «ОК».

Если ваши подключения выполнены успешно, вы увидите рабочий стол XFCE на своем экране на следующем снимке экрана.

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

id
whoami
sudo su

Выводы

В этом руководстве вы установили VNC-сервер с TigerVNC на сервер Rocky Linux. Вы также установили и настроили XFCE в качестве среды рабочего стола по умолчанию для вашего сервера VNC. И, наконец, вы узнали, как безопасно подключиться к серверу VNC через туннелирование SSH.

Еще одно соображение для сервера VNC заключается в том, что вы можете ограничить IP-адреса, которые могут получить доступ к порту сервера VNC через файл Firewalld. А также вы можете защитить свое соединение через локальный VPN-сервер.