Как установить и настроить VNC в Debian 10

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

Введение

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

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

Предпосылки

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

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

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

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

ssh root@IP_DEL_SERVER

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

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

ssh nome_utente@IP_DEL_SERVER

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

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

ssh nome_utente@IP_DEL_SERVER -p PORTA

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

Скорее всего, на вашем сервере Debian не установлена ​​среда рабочего стола. Наш первый шаг — установить облегченную среду рабочего стола.

В репозиториях Debian доступно несколько сред рабочего стола (DE). В этом руководстве мы будем использовать Xfce в качестве предпочтительной среды рабочего стола. Он быстрый, стабильный и легкий, что делает его идеальным для использования на удаленном сервере.

Обновите индекс пакета и установите Xfce на свой сервер Debian с помощью следующих команд:

sudo apt install xfce4 xfce4-goodies xorg dbus-x11 x11-xserver-utils

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

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

В репозиториях Debian также доступно несколько серверов VNC, таких как TightVNC, TigerVNC и x11vnc. Каждый сервер VNC имеет свои сильные и слабые стороны с точки зрения скорости и безопасности.

Мы будем использовать TigerVNC, активно поддерживаемый высокопроизводительный сервер VNC. Чтобы установить TigerVNC на ваш сервер Debian, введите следующую команду:

sudo apt install tigervnc-standalone-server tigervnc-common

После установки сервера 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
 /usr/bin/xauth: file /home/noviello/.Xauthority does not exist

 New 'SERVER-1:1 (noviello)' desktop at:1 on machine SERVER-1

 Starting applications specified in /etc/X11/Xvnc-session
 Log file is /home/noviello/.vnc/SERVER-1:1.log

 Use xtigervncviewer -SecurityTypes VncAuth -passwd /home/noviello/.vnc/passwd:1 to connect to the VNC server.

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

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

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

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

vncserver -kill:1
Killing Xtigervnc process ID 23907... success!

Конфигурация VNC-сервера

Теперь, когда на сервере установлены и Xfce, и TigerVNC, нам нужно настроить TigerVNC для использования Xfce. Для этого создайте следующий файл:

nano ~/.vnc/xstartup
#!/bin/sh
 unset SESSION_MANAGER
 unset DBUS_SESSION_BUS_ADDRESS
 exec startxfce4

Сохраните и закройте файл, нажав CTRL + X, затем Y, чтобы сохранить изменения, а затем ENTER, если вы используете nano.

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

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

chmod u+x ~/.vnc/xstartup

Если вам нужно добавить дополнительные параметры на сервер VNC, вы можете создать файл с именем config и добавить по одному параметру на строку. Создайте файл конфигурации:

nano ~/.vnc/config

Вставьте следующий код, чтобы вручную установить разрешение:

geometry=1920x1084
 dpi=96

Сохраните и закройте файл, нажав CTRL + X, затем Y, чтобы сохранить изменения, а затем ENTER, если вы используете nano.

Создание файла системного диска

Файл системного блока позволит нам легко запускать, останавливать и перезапускать службу VNC, если это необходимо.

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

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

 [Service]
 Type=simple
 User=Noviello
 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

Если вы используете nano, сохраните и закройте файл, нажав CTRL + X, затем Y, чтобы сохранить изменения, а затем ENTER.

Перезагрузите службу systemctl, чтобы добавить только что созданный файл, с помощью следующей команды:

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]; enabled; vendor preset: enabled)
 Active: active (running) since Thu 2019-11-21 17:18:32 CET; 2s ago
 Process: 24316 ExecStartPre=/bin/sh -c /usr/bin/vncserver -kill:1 > /dev/null 2>&1 ||: (code=ex
 Main PID: 24323 (vncserver)
 Tasks: 0 (limit: 2301)
 Memory: 612.0K
 CGroup: /system.slice/system-vncserver.slice/[email protected]
 ‣ 24323 /usr/bin/perl /usr/bin/vncserver:1 -geometry 1440x900 -alwaysshared -fg

Подключиться к VNC-серверу

VNC не является зашифрованным протоколом и может быть подвержен перехвату пакетов. Рекомендуемый подход — создать туннель SSH, который безопасно перенаправляет трафик с локального компьютера через порт 5901 на сервер через тот же порт.

Если вы используете Linux, macOS или любую другую операционную систему на базе Unix на своем компьютере, вы можете легко создать туннель SSH с помощью следующей команды:

ssh -L 5901:127.0.0.1:5901 -N -f -l username server_ip_address

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

Не забудьте заменить username и server_ip_address на ваше имя пользователя и IP-адрес вашего сервера.

Если вы используете Windows, вы можете настроить туннелирование SSH с помощью клиента PuTTY SSH.

Откройте Putty и введите IP-адрес вашего сервера в поле Host name or IP address.

В меню Connection разверните SSH и выберите Tunnels. Введите порт VNC-сервера 5901 в поле « Source Port » и введите server_ip_address:5901 в поле « Destination » и нажмите кнопку « Add ».

Вернитесь на страницу Session, чтобы сохранить настройки и не вводить их каждый раз. Теперь все, что вам нужно сделать, это выбрать сохраненный сеанс и войти на удаленный сервер, нажав кнопку « Open ».

Подключение через Vncviewer

Теперь, когда вы настроили туннелирование SSH, пришло время открыть Vncviewer и подключиться к серверу VNC на localhost:5901.

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

sudo apt install tigervnc-viewer

После завершения установки откройте программу просмотра VNC, введите localhost:5901 и нажмите кнопку « Connect »:

vncviewer localhost:5901

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

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

Вывод

К настоящему времени у вас должен быть работающий сервер VNC, и вы можете легко управлять своим сервером Debian 10 с локального компьютера с помощью графического интерфейса.

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.