Vnc windows and ubuntu

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

В этом руководстве описаны действия, необходимые для установки и настройки VNC-сервера в Ubuntu 18.04. Мы также покажем вам, как безопасно подключиться к серверу VNC через туннель SSH.

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

Подготовка

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

Установка среды рабочего стола

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

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

Введите следующие команды для установки Xfce на ваш сервер:

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

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

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

Мы будем устанавливать TigerVNC. Это активно обслуживаемый высокопроизводительный сервер VNC.

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

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

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

При первом vncserver команды vncserver она создает и сохраняет файл паролей в

/.vnc . Этот каталог будет создан, если он отсутствует.

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

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

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

Настройка VNC-сервера

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

Читайте также:  Распознаватель речи для windows

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

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

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

Создание файла модуля Systemd

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

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

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

Сообщите systemd, что мы создали новый файл модуля с:

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

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

Запустите службу VNC, выполнив:

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

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

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

Настроить SSH-туннелирование в Linux и macOS

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

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

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

Настроить SSH-туннелирование в Windows

Если вы используете Windows, вы можете настроить SSH-туннелирование с помощью 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

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

Вы можете использовать любую программу просмотра VNC, такую как TigerVNC, TightVNC, RealVNC, UltraVNC, Vinagre и VNC Viewer для Google Chrome .

Мы будем использовать TigerVNC. Откройте средство просмотра, введите localhost:5901 и нажмите кнопку « Connect .

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

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

Выводы

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

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

Читайте также:  Ноутбук hp envy 13 intel core i5 windows 10

Не стесняйтесь оставлять комментарии, если у вас есть вопросы.

Быстрая установка и настройка VNC в Ubuntu 20.04

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

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

Требования

  • Сервер Ubuntu 20.04, настроенный по этому мануалу.
  • Локальный компьютер с предустановленным клиентом VNC, который поддерживает VNC-соединения через SSH-туннель. Пользователи Windows могут установить TightVNC, RealVNC или UltraVNC. Пользователи MacOS могут обратиться к встроенному пакету Screen Sharing или использовать кроссплатформенные приложения (например, RealVNC). Пользователи Linux могут выбрать vinagre, krdc, RealVNC, TightVNC и т.п.

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

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

sudo apt update

Чтобы установить на сервер необходимые пакеты, введите команду:

sudo apt install xfce4 xfce4-goodies

Теперь установите TightVNC:

sudo apt install tightvncserver

Чтобы завершить начальную настройку сервера VNC после его установки и выбрать надёжный пароль, используйте команду vncpasswd.

Команда предложит выбрать и подтвердить пароль:

You will require a password to access your desktops.
Password:
Verify:

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

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

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

2: Настройка сервера VNC

Серверу VNC необходимо знать, какие команды выполнять при запуске. Эти команды должны находиться в файле xstartup в каталоге .vnc, который хранится в домашнем каталоге текущего пользователя. Скрипт запуска был создан командой vncserver на этапе установки, но вам нужно создать пользовательский скрипт для взаимодействия с Xfce.

Создайте новый файл xstartup:

Вставьте в него следующие команды:

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

При помощи первой команды, xrdb $HOME/.Xresources (она идет сразу после шебанга), GUI сервера VNC читает файл .Xresources. Вторая команда просто запускает Xfce.

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

Теперь нужно сделать файл исполняемым:

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

Вы получите такой вывод:

New ‘X’ desktop is your_hostname:1
Starting applications specified in /home/8host/.vnc/xstartup
Log file is /home/8host/.vnc/your_hostname:1.log

Как видите, по умолчанию VNC запускает экземпляр сервера на порт 5901. Этот порт называется дисплейным портом, VNC ссылается на него как :1.

3: Безопасное подключение к VNC

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

Читайте также:  Серийный код для windows

На локальном компьютере создайте соединение SSH, которое перейдет в localhost соединение для VNC. Вы можете сделать это в Linux или macOS через терминал с помощью следующей команды:

ssh -L 59000:localhost:5901 -C -N -l 8host your_server_ip

Локальным портом может быть любой порт, который еще не занят другой программой или процессом, хотя в этом примере мы используем 59000. Обязательно замените 8host именем вашего пользователя Ubuntu и your_server_ip IP-адресом вашего сервера.

Если вы работаете через графический SSH-клиент, например, PuTTY, вы можете создать туннель, кликнув правой кнопкой мыши по верхней панели терминала и выбрав Change Settings…

Найдите ветку Connection в меню в левой части окна Reconfiguration. Разверните ветку SSH и нажмите Tunnels. На экране Options controlling SSH port forwarding укажите 59000 в качестве Source Port и localhost:5901 в качестве Destination.

Затем нажмите кнопку Add, а после этого нажмите Apply, чтобы создать туннель.

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

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

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

4: Настройка VNC как сервиса systemd

Теперь нужно настроить VNC как сервис system. Это позволит вам управлять сервером при помощи простых команд, а также добавить его в автозагрузку.

Создайте новый юнит-файл /etc/systemd/system/vncserver@.service:

sudo nano /etc/systemd/system/vncserver@.service

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

Добавьте в файл следующие строки. Обязательно измените значение User, Group, WorkingDirectory и имя пользователя в значении PIDFILE.

[Unit] Description=Start TightVNC server at startup
After=syslog.target network.target
[Service] Type=forking
User=8host
Group=8host
WorkingDirectory=/home/8host
PIDFile=/home/8host/.vnc/%H:%i.pid
ExecStartPre=-/usr/bin/vncserver -kill :%i > /dev/null 2>&1
ExecStart=/usr/bin/vncserver -depth 24 -geometry 1280×800 -localhost :%i
ExecStop=/usr/bin/vncserver -kill :%i
[Install] WantedBy=multi-user.target

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

Затем сообщите системе про новый юнит-файл.

sudo systemctl daemon-reload

sudo systemctl enable vncserver@1.service

Цифра 1, идущая за @, определяет, какой номер дисплея должен отображаться в сервисе, в этом случае это значение по умолчанию :1.

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

vncserver -kill :1

Теперь попробуйте запустить его как любой другой сервис systemd:

sudo systemctl start vncserver@1

Чтобы убедиться, что сервер запущен, проверьте его состояние:

sudo systemctl status vncserver@1

Теперь сервис VNC добавлен в автозагрузку, и вы можете управлять им при помощи стандартных команд systemctl.

Снова запустите туннель SSH, чтобы подключиться в серверу:

ssh -L 59000:localhost:5901 -C -N -l 8host your_server_ip

Создайте новое подключение с клиента VNC на localhost:59000, чтобы протестировать настройку.

Заключение

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

Оцените статью