Как установить VNC-сервер на Rocky Linux
На этой странице
- Предпосылки
- Установка среды рабочего стола
- Добавление пользователя VNC
- Установка сервера TigerVNC
- Запуск VNC-сервера
- Настройка брандмауэра
- Подключение к серверу VNC через безопасный туннель SSH
- Выводы
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-сервер.