Как установить VNC-сервер Ubuntu 22.04
Virtual Network Computing (VNC) — это протокол общего доступа к рабочему столу, который позволяет удаленно управлять компьютером с помощью клиентского программного обеспечения VNC. VNC работает в средах с графическим интерфейсом пользователя, он передает движения вашей мыши и ввод с клавиатуры по сети с использованием протокола удаленного буфера кадров (RFB).
Обычно VNC используется техническими специалистами для управления клиентскими рабочими столами или используется кем-то, кому необходимо получить доступ к своему рабочему столу в офисе из дома. VNC можно безопасно использовать через сеть VPN или с помощью туннельного соединения SSH.
В этом руководстве мы покажем вам, как установить и настроить VNC-сервер на последней версии Ubuntu Server 22.04. В этом руководстве также рассказывается, как безопасно подключиться к серверу VNC через туннелирование SSH.
Предпосылки
Установка среды рабочего стола
Во-первых, вы будете устанавливать Desktop Environment или DE на свой сервер. В Linux есть несколько DE, которые вы можете использовать, но часто в серверной среде вы будете устанавливать и использовать облегченные DE, такие как XFCE и MATE Desktop. Это связано с тем, что большая часть серверной среды ограничена с точки зрения ресурсов.
В этом примере вы будете использовать XFCE в качестве среды рабочего стола по умолчанию для установки VNC-сервера, но вы также узнаете, как установить другие DE в вашей системе. XFCE — это среда рабочего стола среднего размера, которую вы можете установить как на свой сервер, так и на свой ноутбук/компьютер. Он легкий и занимает не более 600 МБ на вашем диске, а также хорош для машины с небольшим объемом памяти/ОЗУ, 4 ГБ ОЗУ более чем достаточно для запуска XFCE.
Прежде чем приступить к установке любого пакета, выполните приведенную ниже команду, чтобы обновить репозитории Ubuntu.
Теперь установите рабочий стол XFCE в свою систему, используя следующую команду.
sudo apt install xfce4 xfce4-goodies
Введите Y для подтверждения и нажмите ENTER, чтобы начать установку. И установка XFCE начнется.
Если вы хотите использовать другую среду разработки, такую как Gnome, вы можете установить ее с помощью следующей команды.
sudo apt install ubuntu-desktop-minimal
Другой отличный способ установить DE в вашу систему Ubuntu — это использовать Tasksel, который автоматизирует установку Desktop Environment по вашему выбору.
Вы можете установить tasksel с помощью приведенной ниже команды.
Введите Y для подтверждения и нажмите ENTER, чтобы начать установку.
После завершения установки выполните приведенную ниже команду tasksel.
На приведенном ниже снимке экрана вы можете увидеть меню для установки различных DE в вашу систему. Выберите DE, который вы хотите установить, с помощью кнопки ПРОБЕЛ и переместите курсор на OK, после чего начнется установка.
Настройка нового пользователя
После установки среды рабочего стола теперь вы будете настраивать нового пользователя для своего VNC-сервера. Сервер VNC может быть запущен для каждого пользователя в вашей системе, но не рекомендуется запускать сервер VNC от имени пользователя root.
В этой демонстрации вы создадите нового пользователя с именем alice с дополнительными привилегиями, выполнив команду sudo su, чтобы получить привилегии root. И VNC Server будет работать под этим пользователем.
Выполните следующую команду, чтобы добавить нового пользователя alice и установить для него пароль. Обязательно используйте надежный пароль для этого пользователя.
sudo useradd -m -s /bin/bash alice
sudo passwd alice
Теперь добавьте пользователя alice в группу sudo с помощью приведенной ниже команды. Это позволит новому пользователю alice выполнить команду sudo su для получения привилегий администратора root.
sudo usermod -aG sudo alice
Наконец, войдите в систему как новый пользователь alice и выполните команду sudo su, чтобы проверить права суперпользователя.
Введите правильный пароль для пользователя alice. Если аутентификация прошла успешно, вы получите новое приглашение, такое как [электронная почта защищена], что означает, что у вас есть права администратора root.
Установка сервера TigerVNC
Теперь пришло время установить пакеты VNC Server на ваш сервер Ubuntu. В этом примере вы будете устанавливать и использовать пакет TigerVNC Server для своего VNC-сервера. Пакет TigerVNC доступен в большинстве дистрибутивов Linux, включая Ubuntu. Кроме того, TigerVNC предоставляет полные пакеты, включающие сервер VNC, средство просмотра/клиент VNC и дополнительные инструменты для VNC.
Установите пакет TigerVNC Server с помощью приведенной ниже команды apt.
sudo apt install tigervnc-standalone-server tigervnc-common tigervnc-tools
Введите Y для подтверждения и нажмите ENTER для продолжения установки. Теперь начнется установка.
После завершения установки всех пакетов перейдите к следующему этапу для инициализации конфигураций VNC-сервера.
Инициализация VNC-сервера
Вы завершили установку пакетов TigerVNC на свой сервер Ubuntu, пришло время установить и настроить сервер VNC с использованием пакетов TigerVNC.
В этом примере сервер VNC будет работать под именем пользователя alice без полномочий root, а среда рабочего стола по умолчанию — XFCE — облегченная и в то же время мощная среда разработки.
Итак, теперь войдите в систему как пользователь alice, используя приведенную ниже команду.
Инициализируйте конфигурацию сервера VNC с помощью следующей команды. Командную строку vncserver можно использовать для управления конфигурацией вашего VNC-сервера, включая инициализацию, проверку состояния, настройку сценария запуска и т. д.
И теперь у вас будет запрошена следующая конфигурация VNC-сервера:
- Конфигурация пароля для сервера VNC: введите новый пароль для вашего сервера VNC. Этот пароль будет использоваться для входа на ваш VNC-сервер, максимальная длина пароля составляет 8 символов. Если вы введете более 8 символов, то увидите ошибку. Поэтому обязательно используйте надежный пароль длиной не более 8 символов и повторите пароль для проверки.
- Настройки пароля только для просмотра. Этот параметр позволяет предоставить общий доступ к серверу VNC или сеансу другому пользователю с разрешением только для просмотра. Это можно использовать, если вы хотите продемонстрировать другим пользователям, но с ограниченным разрешением только на просмотр. В этом примере нам не нужен пароль только для просмотра, поэтому введите n вместо нет.
Эта команда также создает новый каталог конфигурации для VNC-сервера с именем \~/.vnc\ в домашнем каталоге.
Теперь, когда инициализация VNC-сервера завершена и выполнена успешно, вы получите сообщение, как показано ниже. Теперь VNC-сервер работает на \ubuntu-machine:1\ с TCP-портом по умолчанию 5901. Ubuntu-machine — это имя хоста вашей системы, а :1 означает, что VNC-сервер работает на дисплее :1.
New Xtigervnc server 'ubuntu-machine:1 (alice)' on port 5901 for display :1.
Use xtigervncviewer -SecurityTypes VncAuth -passwd /home/alice/.vnc/passwd :1 to connect to the VNC server.
Затем давайте завершим сервер VNC ubuntu-machine:1 и начнем настройку сценария запуска.
Убейте процесс VNC Server ubuntu-machine:1 с помощью приведенной ниже команды vncserver.
vncserver -kill ubuntu-machine:1
Теперь создайте новый сценарий запуска ~/.vnc/xstartup с помощью редактора nano.
Добавьте в него следующий скрипт. Этот сценарий будет автоматически запускать рабочий стол XFCE при каждом запуске VNC-сервера.
#!/bin/sh
# Start up the standard system desktop
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
/usr/bin/startxfce4
[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
x-window-manager &
Сохраните и закройте файл, когда закончите.
Наконец, запустите приведенную ниже команду chmod, чтобы сделать сценарий запуска исполняемым.
На этом этапе вы завершили инициализацию и базовую настройку VNC-сервера в Ubuntu 22.04 с рабочим столом XFCE.
Добавление нового пользователя на сервер TigerVNC
Теперь вам нужно добавить и определить пользователя VNC в файле конфигурации сервера TigerVNC. Ваш пользователь для VNC-сервера должен быть доступен в файле /etc/tigervnc/vncserver.users.
Отредактируйте файл /etc/tigervnc/vncserver.users с помощью редактора nano.
sudo nano /etc/tigervnc/vncserver.users
Добавьте в него следующую конфигурацию. Здесь используется формат \:display=alice\, а в этом примере сервер VNC работает на дисплее \:1\ для пользователя VNC. \Алиса\. Вы также можете добавить нескольких пользователей в файл, если у вас есть несколько процессов VNC Server.
Сохраните и закройте файл, когда закончите.
Теперь запустите приведенную ниже команду, чтобы запустить и включить VNC-сервер для отображения \:1\. Если у вас есть несколько процессов VNC Server с несколькими дисплеями, вы можете изменить номер дисплея в конце имени службы, например \[email защищено]:N.service\, где N – это номер.
sudo systemctl start :1.service
Наконец, выполните приведенную ниже команду, чтобы проверить и подтвердить статус службы сервера VNC.
sudo systemctl status :1.service
На приведенном ниже снимке экрана видно, что [email :1.service активен и работает. Сервер VNC работает под пользователем alice на дисплее \:1\ с TCP-портом по умолчанию 5901.
Кроме того, если у вас возникла ошибка во время процесса запуска VNC-сервера, вы можете проверить файл журнала в каталоге ~/.vnc. В этом примере пользователем является alice, поэтому войдите в систему как пользователь alice и проверьте подробные файлы журнала ниже.
Вы увидите два файла журнала службы VNC Server. Проверяйте все эти файлы журналов всякий раз, когда вы получаете ошибку при запуске службы VNC Server.
На этом вы завершили установку и настройку VNC-сервера на Ubuntu 22.04, и теперь вы можете подключиться к VNC-серверу с вашего локального компьютера.
Безопасное подключение к VNC-серверу с помощью SSH-туннеля
В этом разделе вы будете проверять и проверять установку VNC-сервера, безопасно подключаясь к вашему VNC-серверу с помощью SSL-туннелирования.
Прежде чем начать подключение к серверу VNC, убедитесь, что клиент VNC установлен на вашем локальном компьютере. Для Windows и macOS вы можете использовать RealVNC, а для настольных компьютеров с Linux вы можете использовать средство просмотра TigerVNC Viewer, в основном доступное по умолчанию в вашем репозитории дистрибутива.
Прежде чем начать подключение к VNC-серверу, выполните приведенную ниже команду ssh на локальном компьютере, чтобы подключиться к вашему серверу. Эта команда создаст безопасное SSH-туннелирование на ваш сервер, на вашем локальном компьютере вы откроете TCP-порт 5901, который туннелировал на ваш сервер через тот же порт 5901.
ssh -L 5901:127.0.0.1:5901 -N -f -l alice t 192.168.10.15
Введите пароль для вашего пользователя. В этом примере мы используем одного и того же пользователя с именем alice.
Затем откройте клиентское приложение VNC и подключитесь к своему VNC-серверу с адресом «localhost: 5901». Это автоматически безопасно отправит соединение на ваш сервер VNC через туннелирование SSH.
В этом примере клиентом VNC является TigerVNC Viewer. Теперь нажмите «Подключиться», чтобы начать подключение к серверу.
Введите пароль для вашего VNC-сервера и нажмите OK, чтобы продолжить. Также вы можете увидеть сообщение о том, что соединение не защищено. Вы можете игнорировать это, потому что в этом случае вы подключаетесь к локальному хосту.
Когда пароль правильный, вы можете увидеть сервер VNC с рабочим столом XFCE, как показано ниже. Вы можете открыть терминал на рабочем столе и выполнить несколько команд для проверки вашей системы.
Заключение
Поздравляем! Теперь вы успешно установили и настроили VNC-сервер на последнем сервере Ubuntu 22.04 с XFCE в качестве среды рабочего стола по умолчанию. Кроме того, вы узнали, как установить другие DE на сервер Ubuntu. В последнем вы также узнали, как безопасно подключиться к серверу VNC через туннелирование SSH.