Как установить и настроить VNC в CentOS 8 Linux

12 set 2022 5 min di lettura
Как установить и настроить VNC в CentOS 8 Linux
Indice dei contenuti

Введение

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

В этой статье рассматриваются шаги по установке и настройке сервера VNC в CentOS 8. Мы также покажем вам, как безопасно подключиться к серверу VNC через туннель SSH.

Предпосылки

Чтобы следовать этому руководству, вы должны войти в систему как пользователь с привилегиями sudo на удаленном компьютере с CentOS.

Если вы хотите установить VNC на удаленный сервер, продолжайте читать, в противном случае пропустите первый абзац «Подключение к серверу» и читайте следующий.

Подключение к серверу

Чтобы получить доступ к серверу, вам нужно знать IP-адрес. Вам также потребуется ваше имя пользователя и пароль для аутентификации. Чтобы подключиться к серверу как root, введите следующую команду:

ssh [email protected]_DEL_SERVER

Далее вам нужно будет ввести пароль пользователя root.

Если вы не используете пользователя root, вы можете войти под другим именем пользователя с помощью той же команды, а затем изменить root на свое имя пользователя:

ssh [email protected]_DEL_SERVER

Затем вам будет предложено ввести пароль пользователя.

Стандартный порт для подключения по ssh — 22, если ваш сервер использует другой порт, вам нужно будет указать его с помощью параметра -p, затем введите следующую команду:

ssh [email protected]_DEL_SERVER -p PORTA

Установите среду рабочего стола

Как правило, на серверах не установлена среда рабочего стола. Если компьютер, к которому вы хотите подключиться, не имеет графического интерфейса, первым шагом будет его установка. В противном случае пропустите этот шаг.

Выполните следующую команду, чтобы установить Gnome, среду рабочего стола по умолчанию в CentOS 8 на удаленном компьютере:

sudo dnf groupinstall "Server with GUI"

В зависимости от вашей системы загрузка и установка пакетов и зависимостей Gnome может занять некоторое время.

Установите VNC-сервер

TigerVNC — активно поддерживаемый высокопроизводительный VNC-сервер с открытым исходным кодом. Он доступен в репозиториях CentOS по умолчанию, для его установки введите:

sudo dnf install tigervnc-server

После установки сервера VNC запустите команду vncserver, чтобы создать первоначальную конфигурацию и задать пароль. Не используйте sudo при выполнении следующей команды:

vncserver

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

You will require a password to access your desktops.

 Password:
 Verify:
 Would you like to enter a view-only password (y/n)? n
 A view-only password is not used
 xauth: file /home/nome_utente/.Xauthority does not exist

 New 'TEST-SERVER-1:1 (nome_utente)' desktop is TEST-SERVER-1:1

 Creating default startup script /home/nome_utente/.vnc/xstartup
 Creating default config /home/nome_utente/.vnc/config
 Starting applications specified in /home/nome_utente/.vnc/xstartup
 Log file is /home/nome_utente/.vnc/TEST-SERVER-1:1.log

При первом запуске команды vncserver она создаст и сохранит файл паролей в каталоге ~/.vnc, который будет создан, если его нет.

Примечание :1 после имени хоста в приведенном выше выводе. Указывает номер порта дисплея, на котором работает сервер VNC. В нашем случае сервер работает на TCP-порту 5901 (5900+1). Если вы создадите второй экземпляр, он будет работать на следующем свободном порту :2, то есть сервер работает на порту 5902 (5900+2).

Важно помнить, что при работе с серверами VNC: :X — это порт дисплея, на который ссылается 5900+X

Прежде чем перейти к следующему шагу, сначала остановите экземпляр VNC с помощью команды vncserver с параметром -kill и номером сервера в качестве аргумента. В нашем случае сервер работает на порту 5901 ( :1 ), поэтому для его остановки запустите:

vncserver -kill:1
Killing Xvnc process ID 21975

Настроить VNC-сервер

Теперь, когда и Gnome, и TigerVNC установлены на удаленном компьютере с CentOS, следующим шагом будет настройка TigerVNC для использования Gnome. Сервер VNC использует ~/.vnc/xstartup для запуска приложений при создании нового рабочего стола. Откройте файл:

vim ~/.vnc/xstartup

Добавьте следующие строки кода в конец файла:

...
 [ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
 [ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
 vncconfig -iconic &
 dbus-launch --exit-with-session gnome-session &

Сохраните и закройте файл.

~/.vnc/xstartup также должен иметь права на выполнение. Выполните следующую команду chmod, чтобы убедиться, что разрешения указаны правильно:

chmod u+x ~/.vnc/xstartup

Приведенный выше скрипт запускается автоматически каждый раз, когда вы запускаете или перезапускаете сервер TigerVNC.

Если вы хотите использовать дополнительные параметры VNC-сервера, откройте файл ~/.vnc/config и добавьте по одному параметру на строку. Наиболее распространенные варианты перечислены в файле. Раскомментируйте и отредактируйте по своему вкусу.

vim ~/.vnc/config
# securitytypes=vncauth,tlsvnc
 # desktop=sandbox
 geometry=1920x1080
 # localhost
 # alwaysshared

Создайте файл диска Systemd

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

Откройте текстовый редактор и скопируйте и вставьте следующую конфигурацию. Убедитесь, что вы изменили имя пользователя в строке 7, чтобы оно соответствовало вашему имени пользователя.

sudo vi /etc/systemd/system/[email protected]
[Unit]
 Description=Remote desktop service (VNC)
 After=syslog.target network.target

 [Service]
 Type=simple
 User=nome_utente
 PAMName=login
 PIDFile=/home/%u/.vnc/%H%i.pid
 ExecStartPre=/bin/sh -c '/usr/bin/vncserver -kill:%i > /dev/null 2>&1 ||:'
 ExecStart=/usr/bin/vncserver:%i -geometry 1440x900 -alwaysshared -fg
 ExecStop=/usr/bin/vncserver -kill:%i

 [Install]
 WantedBy=multi-user.target

Сохраните и закройте файл.

Сообщите systemd, что мы создали новый файл диска с помощью:

sudo systemctl daemon-reload

Следующим шагом является включение файла модуля с помощью следующей команды:

sudo systemctl enable [email protected]

Число 1 после @: определяет порт дисплея, на котором будет прослушиваться служба VNC. Мы используем 1, что означает, что сервер VNC будет использовать порт 5901, как обсуждалось в предыдущем разделе.

Запустите службу VNC, запустив:

sudo systemctl start [email protected]

Убедитесь, что служба успешно запущена:

sudo systemctl status [email protected]
[email protected] - Remote desktop service (VNC)
 Loaded: loaded (/etc/systemd/system/[email protected]; indirect; vendor preset: enabled)
 Active: active (running) since 2020-02-21 23:15:22 CET; 4s ago
 Process: 6629 ExecStartPre=/bin/sh -c /usr/bin/vncserver -kill:1 > /dev/null 2>&1 ||: (code=exited, status=0/SUCCESS)
 Main PID: 6657 (vncserver)
 Tasks: 0 (limit: 2298)
 CGroup: /system.slice/system-vncserver.slice/[email protected]
 ‣ 6657 /usr/bin/perl /usr/bin/vncserver:1 -geometry 1440x900 -alwaysshared -fg

Подключиться к 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. Откройте вьювер, введите localhost:5901 и нажмите кнопку Connect.

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

Теперь вы можете начать работать на удаленном рабочем столе с локального компьютера с помощью клавиатуры и мыши.

Вывод

Мы показали вам, как настроить сервер VNC и подключиться к удаленному компьютеру с CentOS 8.

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

Buy me a coffeeBuy me a coffee

Supportaci se ti piacciono i nostri contenuti. Grazie.

Successivamente, completa il checkout per l'accesso completo a Noviello.it.
Bentornato! Accesso eseguito correttamente.
Ti sei abbonato con successo a Noviello.it.
Successo! Il tuo account è completamente attivato, ora hai accesso a tutti i contenuti.
Operazione riuscita. Le tue informazioni di fatturazione sono state aggiornate.
La tua fatturazione non è stata aggiornata.