Как установить и настроить VNC в Ubuntu 20.04

0 Акции
0
0
0
0

Как установить и настроить VNC в Ubuntu 20.04

Введение

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

В этом руководстве вы настроите VNC-сервер с TightVNC на сервере Ubuntu 20.04 и подключитесь к нему через SSH-туннель. Затем вы будете использовать VNC-клиент на локальном компьютере для взаимодействия с сервером через графическую среду рабочего стола.

Предпосылки

Для выполнения этого урока вам понадобится:

  1. Сервер Ubuntu 20.04 с пользователем-администратором без прав root и брандмауэром, настроенным с помощью UFW.
  2. Локальный компьютер с установленным VNC-клиентом. Используемый VNC-клиент должен поддерживать подключения через SSH-туннели:
  • В Windows вы можете использовать TightVNC, RealVNC или UltraVNC.
  • В macOS вы можете использовать встроенное приложение Screen Sharing или кроссплатформенное приложение, такое как RealVNC.
  • В Linux вы можете выбирать из множества вариантов, включая: уксускрдцВыберите RealVNC или TightVNC.

Шаг 1 — Установка среды рабочего стола и VNC-сервера

По умолчанию Ubuntu 20.04 Server не поставляется с установленной графической средой рабочего стола или VNC-сервером, поэтому начните с их установки.

При выборе VNC-сервера и окружения рабочего стола у вас есть множество вариантов. В этом руководстве вы установите пакеты для последней версии окружения рабочего стола Xfce и пакета TightVNC, доступных в официальном репозитории Ubuntu. Xfce и TightVNC известны своей лёгкостью и скоростью, что гарантирует бесперебойное и стабильное VNC-подключение даже при медленном интернет-соединении.

После подключения к серверу по SSH обновите список пакетов:

    $ sudo apt update

Теперь упакуйте Xfce с xfce4-goodies Установка, включающая в себя несколько улучшений среды рабочего стола:

    $ sudo apt install xfce4 xfce4-goodies

Во время установки вам может быть предложено выбрать дисплейный менеджер по умолчанию для Xfce. Дисплейный менеджер — это программа, позволяющая выбирать и входить в среду рабочего стола через графический интерфейс. Xfce будет использоваться только при подключении через VNC-клиент, и в этих сеансах Xfce вы уже будете авторизованы как пользователь Ubuntu без прав root. Поэтому для целей данного руководства выбор дисплейного менеджера не важен. Выберите один из них и ВХОДИТЬ Нажимать .

После завершения установки установите сервер TightVNC:

    $ sudo apt install tightvncserver

Далее командаvnc-сервер Выполните команду, чтобы установить пароль VNC, создать начальные файлы конфигурации и запустить экземпляр VNC-сервера:

    $ vncserver

Вам будет предложено ввести и подтвердить пароль для удаленного доступа к вашему устройству:

   Выход

Для доступа к рабочим столам вам потребуется пароль.

 

Пароль:

Проверять:

Пароль должен содержать от шести до восьми символов. Пароли длиннее 8 символов автоматически усекаются.

После подтверждения пароля вам будет доступна возможность создать пароль только для просмотра. Пользователи, вошедшие с паролем только для просмотра, не смогут управлять экземпляром VNC с помощью мыши или клавиатуры. Это полезная опция, если вы хотите показать что-либо другим пользователям вашего VNC-сервера, но она не является обязательной.

Этот процесс затем создаёт необходимые файлы конфигурации по умолчанию и информацию о подключении для сервера. Кроме того, он создаёт экземпляр сервера по умолчанию на порту 5901 Этот порт называется портом дисплея и используется VNC как:1 VNC может запускать несколько экземпляров на других портах дисплея, с :2 В порт5902, 3: Указывая на 5903 и т. д.:

   Выход

Хотите ли вы ввести пароль только для просмотра (да/нет)?н

xauth: файл /home/Сэмми/.Xauthority не существует

 

Новый рабочий стол ‘X’ — это your_hostname:1

 

Создание скрипта запуска по умолчанию /home/Сэмми/.vnc/xstartup

Запуск приложений, указанных в /home/Сэмми/.vnc/xstartup

Файл журнала находится в /home/Сэмми/.vnc/your_hostname:1.log

Обратите внимание: если вы когда-либо захотите изменить свой пароль или добавить пароль только для просмотра, вы можете сделать это с помощью команды vncpasswd Делать:

    $ vncpasswd

На этом этапе VNC-сервер установлен и запущен. Теперь настроим его для запуска Xfce и доступа к серверу через графический интерфейс.

##Sтеп 2 – Настройка VNC-сервера

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

Команды, которые VNC-сервер запускает при запуске, находятся в файле конфигурации, который называется xstartup В папке
.vnc Ниже представлен ваш основной каталог. Скрипт запуска был создан при запуске команды на предыдущем шаге. vnc-сервер Вы запустили его, но вам придется создать свой собственный скрипт для запуска рабочего стола Xfce.

Поскольку вы собираетесь изменить конфигурацию VNC-сервера, сначала удалите экземпляр VNC-сервера, работающий на порту 5901 Он запущен. Остановите его следующей командой:

    $   vncserver -kill :1 

Вывод будет выглядеть следующим образом, хотя вы увидите другой PID:

   Выход

Уничтожение идентификатора процесса Xtightvnc 17648

Перед файлом xstartup Изменить, создать резервную копию оригинала:

    $ mv ~/.vnc/xstartup ~/.vnc/xstartup.bak

Теперь файл xstartup Создайте новый и откройте его в текстовом редакторе, например нано Открыть:

    $  нано ~/.vnc/xstartup

Затем добавьте в файл следующие строки:

~/.vnc/xstartup

#!/bin/bash
xrdb $HOME/.Xresources
startxfce4 &

Первая строка — это просто халтура. В текстовых файлах, исполняемых на платформах *nix, притон Он сообщает системе, какому интерпретатору передать файл для выполнения. В данном случае файл отправляется интерпретатору Bash. Это позволяет выполнять каждую последующую строку как команду по порядку.

Первая команда в файле, xrdb $HOME/.Xresources, фреймворк VNC GUI называет файл .Xresources Пользователь читает сервер. .Xresources Здесь пользователь может изменить некоторые настройки графического рабочего стола, такие как цвета терминала, темы курсора и отображение шрифтов. Вторая команда приказывает серверу запустить Xfce. Эти команды автоматически выполняются при запуске или перезапуске VNC-сервера.

После добавления этих строк сохраните и закройте файл. Если вы Нано Вы используете его, сделайте это, нажав CTRL + X, Y А потом ВХОДИТЬ Сделай это.

Чтобы сервер VNC мог правильно использовать этот новый установочный файл, необходимо сделать его исполняемым:

    $ chmod +x ~/.vnc/xstartup

Затем перезапустите VNC-сервер:

    $ vncserver -localhost

Обратите внимание, что на этот раз команда включает опцию -localhost Это подключит VNC-сервер к интерфейсу Loopback вашего сервера. VNC будет разрешать подключения только с того сервера, на котором он установлен.

Затем вы создаёте SSH-туннель между локальной машиной и сервером, фактически обманывая VNC, заставляя его думать, что соединение с локальной машины исходит с вашего сервера. Эта стратегия добавляет дополнительный уровень безопасности к VNC, поскольку доступ к нему получат только те пользователи, у которых уже есть SSH-доступ к вашему серверу.

Вы увидите вывод, подобный этому:

Выход
Новый рабочий стол ‘X’ — это  your_hostname:1

Запуск приложений, указанных в /home/Сэмми/.vnc/xstartup
Файл журнала находится в /home/Сэмми/.vnc/your_hostname:1.log

После настройки вы готовы подключиться к VNC-серверу с локального компьютера.

Шаг 3 — Безопасное подключение к рабочему столу VNC

Сам VNC не использует безопасные протоколы при подключении. Для безопасного подключения к серверу необходимо создать SSH-туннель, а затем указать VNC-клиенту использовать этот туннель вместо прямого подключения.

Создайте на локальном компьютере безопасное SSH-соединение с Локальное соединение хоста Передача по VNC. Вы можете сделать это через терминал в Linux или macOS с помощью командыssh Сделайте следующее:

$ ssh -L 59000 :localhost: 5901 -С -Н -л  Сэмми ваш_сервер_ip

Вот значение опций этой команды ssh Утверждается:

  • -L 59000:localhost:5901: Выключатель -Л Указывает, что данный порт находится на локальном компьютере (59,000(необходимо отправить на указанный хост и порт на сервере назначения)локальный хост:5901, что означает порт 5901 На целевом сервере., как ваш_сервер_ip (Обратите внимание, что указанный вами локальный порт в некоторой степени произволен. Пока порт не подключен к другой службе, вы можете использовать его в качестве порта пересылки для вашего туннеля.).
  • : этот флаг включает сжатие, что может помочь снизить потребление ресурсов и ускорить выполнение задач.
  • : Этот вариантssh Он говорит, что вы не хотите выполнять никакие удалённые команды. Эта настройка полезна, если вы просто хотите перенаправить порты.
  • л сэмми your_server_ip-: Выключатель -л Позволяет указать пользователя, под которым вы хотите войти при подключении к серверу. Убедитесь, что Сэмми и ваш_сервер_ip Замените на имя вашего обычного пользователя и IP-адрес вашего сервера.

Примечание: Эта команда создает SSH-туннель, который отправляет данные из порта 5901 На вашем VNC-сервере перейдите в порт 59,000 На локальном компьютере через порт 22 На каждом устройстве порт SSH по умолчанию перенаправляется. Если вы следовали руководству по базовой настройке сервера Ubuntu 20.04, вы добавили правило UFW, разрешающее подключения к серверу через OpenSSH.

Это более безопасно, чем открывать брандмауэр вашего сервера для подключения к порту. 5901 Это связано с тем, что он позволяет любому получить доступ к вашему серверу через VNC. Подключаясь через SSH-туннель, вы ограничиваете доступ по VNC только теми машинами, у которых уже есть SSH-доступ к серверу.

Если вы используете PuTTY для подключения к серверу, вы можете создать SSH-туннель, щелкнув правой кнопкой мыши по верхней панели окна терминала и выбрав опцию …Изменить настройки Щелкните:


Ветвь Связь Найдите ветвь в древовидном меню в левой части окна реконфигурации PuTTY. SSH Откройте и нажмите Туннели Щелкните. В Параметры контроллера страницы переадресации портов</59000 strong> SSH, как исходный порт и локальный хост:5901 Введите в качестве пункта назначения, например:


Затем нажмите кнопку. Добавлять Нажмите и затем кнопку Применять Щелкните, чтобы реализовать туннель.

После того, как туннель будет запущен, используйте VNC-клиент для подключения к локальный хост:59000 Вам будет предложено пройти аутентификацию, используя пароль, который вы установили на шаге 1.

После подключения вы увидите рабочий стол Xfce по умолчанию. Он должен выглядеть примерно так:


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


CTRL+C Нажмите кнопку в локальном терминале, чтобы остановить SSH-туннель и вернуться в приложение. Это также завершит сеанс VNC.

Теперь вы можете настроить свой VNC-сервер для работы в качестве службы systemd.

Шаг 4 — Запуск VNC как системной службы
Настроив VNC-сервер как службу systemd, вы сможете запускать, останавливать и перезапускать его по мере необходимости, как и любую другую службу. Вы также можете использовать команды управления systemd, чтобы обеспечить запуск VNC при загрузке сервера.

Сначала создайте новый файл модуля с именем /etc/systemd/system/[email protected] Создавать:

    $ sudo nano /etc/systemd/system/[email protected]

Символ @ В конце имени можно передать аргумент, который можно использовать в конфигурации сервиса. Он понадобится для указания порта отображения VNC, который вы хотите использовать при управлении сервисом.

Добавьте следующие строки в файл. Обязательно укажите значение Пользователь, Группа, Рабочий каталог и имя пользователя в значении PIDFILE Измените так, чтобы оно соответствовало вашему имени пользователя:

/etc/systemd/system/[email protected]

[Unit] Описание=Запустить сервер TightVNC при загрузке
После=syslog.target network.target

[Сервис] Тип=разветвление
Пользователь= Сэмми
Группа= Сэмми
РабочийКаталог=/home/Сэмми

PIDFile=/home/Сэмми/.vnc/%H:%i.pid
ExecStartPre=-/usr/bin/vncserver -kill :%i > /dev/null 2>&1
ExecStart=/usr/bin/vncserver -глубина 24 -геометрия 1280×800 -localhost:%i
ExecStop=/usr/bin/vncserver -kill :%i

[Установить] WantedBy=multi-user.target

Заказ ExecStartPre Если VNC уже запущен, он будет остановлен. Команда ExecStart Запускает VNC и устанавливает глубину цвета 24 бита при разрешении 1280×800. Вы также можете изменить эти параметры запуска в соответствии со своими потребностями. Также обратите внимание, что командаExecStart Снова
Включает опцию -localhost Это.

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

Далее уведомите систему о новом файле блока:

    $ sudo systemctl daemon-reload

    $ sudo systemctl daemon-reload

Включить файл модуля:

    $ sudo systemctl enable [email protected]

1 Под знаком@ Указывает, на каком дисплее должна отображаться услуга, в данном случае — по умолчанию. :1 Как обсуждалось в шаге 2.

Остановите текущий экземпляр VNC-сервера, если он все еще запущен:

    $ vncserver -kill :1

Затем запустите его как любую другую службу systemd:

    $ sudo systemctl start vncserver@1

Проверить запуск можно с помощью этой команды:

    $ sudo systemctl status vncserver@1

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

Выход

[email protected] – Запустить жесткий VNC-сервер при загрузке
Загружено: загружено (/etc/systemd/system/[email protected]; включено; предустановка поставщика: включена)
Активен: активен (работает) с Чт 2020-05-07 17:23:50 UTC; 6 сек. назад
Процесс: 39768 ExecStartPre=/usr/bin/vncserver -kill :1 > /dev/null 2>&1 (код=выход, статус=2)
Процесс: 39772 ExecStart=/usr/bin/vncserver -глубина 24 -геометрия 1280×800 :1 (код=выход, статус=0/УСПЕХ)
Основной PID: 39795 (Xtightvnc)

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

Однако на стороне клиента разницы не будет. Для повторного подключения перезапустите SSH-туннель:

$ ssh -L 59000 :localhost: 5901 -С -Н -л  Сэмми ваш_сервер_ip

Затем создайте новое соединение, используя клиентское программное обеспечение VNC. локальный хост:59000 Создайте подключение к вашему серверу.

Результат

Теперь на вашем сервере Ubuntu 20.04 работает безопасный VNC-сервер. Теперь вы можете управлять файлами, программным обеспечением и настройками с помощью удобного графического интерфейса, а также запускать графические приложения, например, веб-браузеры, удалённо.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Вам также может понравиться

Как установить IBSng на CentOS 6/7

Руководство по установке IBSng на CentOS 6/7 В этой статье приведено руководство по установке IBSng на CentOS 6/7, которое поможет вам…

Как войти на сервер Windows через удаленный рабочий стол

Как подключиться к серверу Windows через удалённый рабочий стол. Программное обеспечение для подключения к удалённому рабочему столу предоставляется бесплатно во всех версиях…