Virtual Network Computing (VNC) — это графическая система совместного использования рабочего стола, которая позволяет использовать клавиатуру и мышь для удаленного управления другим компьютером.
В этой статье описаны шаги по установке и настройке сервера VNC на CentOS 8. Мы также покажем вам, как безопасно подключиться к серверу VNC через туннель SSH.
Содержание
Подготовка
Чтобы следовать этому руководству, вам необходимо войти в систему как пользователь с привилегиями sudo на вашем удаленном компьютере с CentOS.
Установка среды рабочего стола
Как правило, на серверах не установлена среда рабочего стола. Если компьютер, к которому вы хотите подключиться, не имеет графического интерфейса пользователя, первым делом установите его. В противном случае пропустите этот шаг.
Выполните следующую команду, чтобы установить Gnome, среду рабочего стола по умолчанию в CentOS 8 на удаленном компьютере:
sudo dnf groupinstall "Server with GUI"
В зависимости от вашей системы загрузка и установка пакетов и зависимостей Gnome может занять некоторое время.
Установка VNC-сервера
TigerVNC — это активно поддерживаемый высокопроизводительный VNC-сервер с открытым исходным кодом. Он доступен в репозиториях CentOS по умолчанию. Чтобы установить его, введите:
sudo dnf install tigervnc-server
Настройка VNC-сервера
В отличие от предыдущих версий CentOS, TigerVNC в CentOS 8 настраивается с помощью демона systemd.
В этом примере мы покажем вам, как настроить TigerVNC для одного или нескольких пользователей VNC.
-
Используйте команду
vncpasswd
чтобы установить пароль. Запустите команду от имени пользователя, который будет обращаться к серверу VNC, не используйтеsudo
:vncpasswd
Вам будет предложено ввести и подтвердить пароль, а также указать, следует ли установить его как пароль только для просмотра. Если вы решите установить пароль только для просмотра, пользователь не сможет взаимодействовать с экземпляром VNC с помощью мыши и клавиатуры.
При первом
vncpasswd
командыvncpasswd
она создаст и сохранит файл паролей в каталоге пользователя~/.vnc
.Password: Verify: Would you like to enter a view-only password (y/n)? n A view-only password is not used
Если вы добавляете второго пользователя, переключитесь на него и установите пароль с помощью
vncpasswd
. -
Следующим шагом является настройка TigerVNC для использования Gnome. VNC считывает параметры конфигурации пользователя из файла
~/.vnc/config
. Откройте файл и добавьте следующее:vim ~/.vnc/config
session = gnome geometry = 1920x1200 localhost alwaysshared
Параметр
session
указывает сеанс, который вы хотите запустить, а параметрgeometry
указывает размер рабочего стола VNC.Сохраните и закройте файл . Если вы добавляете несколько пользователей, повторите тот же шаг.
-
TigerVNC поставляется с файлом, который позволяет сопоставить пользователя с определенным портом. Отображение настраивается в файле
/etc/tigervnc/vncserver.users
:sudo vim /etc/tigervnc/vncserver.users
В файле используется <display_port> =
синтаксис. В приведенном ниже примере мы сопоставляем порт дисплея :1
с пользователем linuxize. Используйте тот же формат, чтобы добавить больше пользователей.# TigerVNC User assignment # # This file assigns users to specific VNC display numbers. # The syntax is <display>=<username>. Eg: # # :2=andrew # :3=lisa :1 = linuxize
:1
— номер порта дисплея, на котором будет работать сервер VNC. В нашем случае сервер работает на TCP-порту5901
(5900 + 1). Если вы сопоставите другого пользователя, например, с отображением порта:2
, сервер также будет прослушивать порт5902
(5900 + 2).Важно понимать, что при работе с серверами VNC
:X
— это порт дисплея, который ссылается на5900+X
Запуск сервера Tigervnc
Как только вы закончите настройку, последний шаг — запустить VNC-сервер.
Чтобы запустить и включить службу VNC для пользователя, подключенного к порту дисплея :1
, введите:
sudo systemctl enable vncserver@:1 --now
Сервер VNC будет прослушивать порт 5901
, как мы обсуждали в предыдущем разделе.
Вы можете убедиться, что служба успешно запущена:
sudo systemctl status vncserver@:1
● vncserver@:1.service - Remote desktop service (VNC)
Loaded: loaded (/usr/lib/systemd/system/[email protected]; enabled; vendor preset: disabled)
Active: active (running) since Thu 2020-12-17 21:49:41 UTC; 8s ago
...
Чтобы включить VNC для других пользователей, просто замените 1
на порт дисплея, назначенный пользователю.
Подключение к VNC-серверу
VNC не является зашифрованным протоколом и может подвергаться перехвату пакетов. Рекомендуемый подход — создать туннель SSH для безопасной пересылки трафика с вашего локального компьютера на порт 5901
на удаленный сервер на том же порту.
Настроить SSH-туннелирование в Linux и macOS
Если вы используете Linux, macOS или любую другую операционную систему на основе Unix на своем компьютере, вы можете легко создать туннель, используя следующую команду ssh
:
ssh -L 5901:127.0.0.1:5901 -N -f -l username remote_server_ip
Вам будет предложено ввести пароль пользователя.
Не забудьте заменить username
и server_ip_address
своим именем пользователя и IP-адресом вашего сервера.
Настроить SSH-туннелирование в Windows
Пользователи Windows могут настроить SSH-туннелирование с помощью PuTTY .
Откройте Putty и введите IP-адрес вашего сервера в поле Host name or IP address
.
В меню « Connection
разверните SSH
и выберите « Tunnels
. Введите порт сервера VNC ( 5901
) в поле Source Port
, введите server_ip_address:5901
в поле Destination
и нажмите кнопку Add
, как показано на изображении ниже:
Вернитесь на страницу Session
чтобы сохранить настройки, чтобы не вводить их каждый раз. Чтобы войти на удаленный сервер, выберите сохраненный сеанс и нажмите кнопку « Open
.
Подключение с помощью Vncviewer
Чтобы подключиться к удаленному серверу, откройте программу просмотра VNC и введите localhost:5901
.
Вы можете использовать любую программу просмотра VNC, такую как TigerVNC, TightVNC, RealVNC, UltraVNC, Vinagre и VNC Viewer для Google Chrome .
Мы используем TigerVNC:
При появлении запроса введите пароль, и вы должны увидеть рабочий стол Gnome по умолчанию. Это должно выглядеть примерно так:
Это оно! Теперь вы можете начать работу на удаленном рабочем столе с локального компьютера с помощью клавиатуры и мыши.
Выводы
Мы показали вам, как настроить сервер VNC и подключиться к удаленному компьютеру с CentOS 8.
Не стесняйтесь оставлять комментарии, если у вас есть вопросы.