Как настроить VNC-сервер в Debian 8

Вступление

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

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

XFCE - это легкая настольная среда. Поскольку у него низкие требования к системным ресурсам, и поскольку многие пользователи VNC знакомы с ним, мы будем использовать XFCE в этом руководстве. Однако вместо этого вы также можете использовать свою любимую рабочую среду, такую ​​как Gnome или KDE.

В этом руководстве мы настроим сервер Debian 8, установим на нем среду рабочего стола XFCE и подключим его через VNC. Кроме того, мы создадим сценарий запуска для VNC Server и защитим его через SSH.

Предпосылки

Пожалуйста, заполните следующие условия.

  • Debian 8 (или 8.1) Droplet с root-доступом. 512 МБ ОЗУ достаточно для запуска VNC и XFCE, но вам может потребоваться более крупная капля в зависимости от того, что вы планируете делать с графическим интерфейсом

  • VNC viewer (клиент) на вашем компьютере для подключения к вашему серверу. В этом руководстве мы будем использовать UltraVNC в Windows, но вы можете использовать и другие клиенты VNC. Вы можете скачать UltraVNC here. OS X поставляется со встроенным VNC-клиентом под названием Screen Sharing

  • Клиент SSH для установки безопасного соединения по SSH. Мы будем использовать PuTTY для Windows. Вы можете скачать PuTTY here. На OS X просто используйте встроенное приложение терминала

Шаг 1 - Установка VNC и XFCE

На этом этапе мы установим VNC Server и среду рабочего стола XFCE с дополнительным программным обеспечением и пакетом значков.

Обновите списки пакетов вашего сервера:

apt-get update

Обновите сами пакеты:

apt-get -y upgrade

Затем мы установим + sharpvncserver + и XFCE4 с некоторыми полезными дополнениями и темой значков:

apt-get install xfce4 xfce4-goodies gnome-icon-theme tightvncserver

По умолчанию браузер не установлен. Вы можете установить + iceweasel + (это переименованная версия Mozilla Firefox для Debian), если вы хотите получить доступ к Интернету через ваше соединение VNC:

apt-get install iceweasel

Шаг 2 - Создание пользователя VNC

Мы создадим отдельного пользователя для подключений VNC, чтобы обеспечить безопасность и аккуратность. Настоятельно рекомендуется использовать + sudo + вместо использования пользователя * root * непосредственно для вашего VNC-сервера.

Вы можете добавить пользователя с именем * vnc * в свой дроплет Debian с помощью этой команды:

adduser vnc

Дайте пароль вашему новому пользователю. Вы можете пропустить все остальные вопросы, просто нажав + ENTER.

Установите + sudo +, выполнив эту команду:

apt-get install sudo

Добавьте нового пользователя * vnc * в группу * sudo *, которая даст этому пользователю права на выполнение корневых команд.

gpasswd -a vnc sudo

Давайте переключимся на пользователя * vnc *:

su - vnc

Шаг 3 - Запуск и остановка вашего VNC-сервера

Как наш недавно созданный пользователь * vnc *, мы можем запустить VNC Server и проверить наше соединение.

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

vncserver

Поскольку вы впервые запускаете сервер, вам будет предложено установить пароль, который клиенты будут использовать для подключения. Запомните этот пароль на будущее! Вы также можете установить пароль только для просмотра, который позволит пользователям видеть экран, но не взаимодействовать с ним. Пароли должны быть * 6-8 символов *.

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

Выход

xauth:  file /home/vnc/.Xauthority does not exist

New 'X' desktop is vnc:1

Creating default startup script /home/vnc/.vnc/xstartup
Starting applications specified in /home/vnc/.vnc/xstartup
Log file is /home/vnc/.vnc/vnc:1.log

По умолчанию VNC-соединения обслуживаются на портах, начинающихся с + 5901 + для первого дисплея. Ваш второй дисплей будет обслуживаться через порт + 5902 + и т. Д.

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

Шаг 4 - Подключение от клиента VNC

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

В Windows вы можете использовать UltraVNC here.

В OS X вы можете использовать встроенное приложение «Общий экран» или получить доступ к нему через Safari. В Safari вы можете ввести * vnc: //: 5901 *

В качестве адреса своего сервера VNC введите *: 5901 * и используйте пароль, который вы только что установили для своего подключения VNC.

Вы можете выбрать кнопку * Use default config * на экране приветствия XFCE, чтобы легко начать:

изображение: https: //assets.digitalocean.com/articles/vnc-debian8/ExJW2cB.png [Экран приветствия Xubuntu]

Теперь вы можете использовать свой удаленный рабочий стол!

Шаг 5 - Создание службы systemd для автоматического запуска VNC-сервера

В этом разделе мы добавим VNC-сервер в systemd. Использование службы может быть полезно для запуска и остановки вашего VNC-сервера, а также для его автоматического запуска при перезагрузке Droplet.

Во-первых, давайте убьем текущий экземпляр:

vncserver -kill

Создайте простой скрипт для простого управления и настройки нашего VNC-сервера:

Как пользователь * vnc * или другой пользователь sudo, создайте файл сценария с помощью вашего любимого текстового редактора.

sudo nano /usr/local/bin/myvncserver

Добавьте это содержимое точно. Этот скрипт предоставляет VNC несколько параметров для запуска.

/ USR / местные / бен / myvncserver

#!/bin/bash
PATH="$PATH:/usr/bin/"
DISPLAY="1"
DEPTH="16"
GEOMETRY="1024x768"
OPTIONS="-depth ${DEPTH} -geometry ${GEOMETRY} :${DISPLAY}"

case "$1" in
start)
/usr/bin/vncserver ${OPTIONS}
;;

stop)
/usr/bin/vncserver -kill :${DISPLAY}
;;

restart)
$0 stop
$0 start
;;
esac
exit 0

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

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

Сделайте файл исполняемым:

sudo chmod +x /usr/local/bin/myvncserver

Наш скрипт поможет нам легко изменить настройки и запустить / остановить VNC Server.

Теперь мы можем создать unit file для нашего сервиса. Единичные файлы используются для описания служб и указания компьютеру, что делать, чтобы запустить / остановить или перезапустить службу.

sudo nano /lib/systemd/system/myvncserver.service

Скопируйте эти команды в служебный файл. Наш сервис просто вызовет скрипт запуска, указанный выше, с пользователем * vnc *.

/lib/systemd/system/myvncserver.service

[Unit]
Description=Manage VNC Server on this droplet

[Service]
Type=forking
ExecStart=/usr/local/bin/myvncserver start
ExecStop=/usr/local/bin/myvncserver stop
ExecReload=/usr/local/bin/myvncserver restart
User=vnc

[Install]
WantedBy=multi-user.target

Теперь мы можем перезагрузить + systemctl + и включить наш сервис:

sudo systemctl daemon-reload
sudo systemctl enable myvncserver.service

Вы включили свой новый сервис сейчас. Используйте эти команды для запуска, остановки или перезапуска службы с помощью команды + systemctl +:

sudo systemctl start myvncserver.service
sudo systemctl stop myvncserver.service
sudo systemctl restart myvncserver.service

Теперь вы можете запускать VNC Server в качестве службы на вашей Droplet.

Шаг 6 - Защита вашего VNC-сервера с помощью SSH-туннелирования

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

Для этого мы позволим нашему VNC-серверу работать только на * localhost *. + Вы можете сделать это, добавив + -localhost + в строку + OPTIONS + в сценарии запуска, созданном на предыдущем шаге.

Сначала остановите VNC-сервер:

sudo systemctl stop myvncserver.service

Отредактируйте ваш конфигурационный скрипт:

sudo nano /usr/local/bin/myvncserver

Измените эту строку:

/ USR / местные / бен / myvncserver

. . .

OPTIONS="-depth ${DEPTH} -geometry ${GEOMETRY} :${DISPLAY}"

. . .

Заменить его на:

/ USR / местные / бен / myvncserver

. . .

OPTIONS="-depth ${DEPTH} -geometry ${GEOMETRY} :${DISPLAY} "

. . .

Перезапустите сервер VNC:

sudo systemctl start myvncserver.service

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

  • Windows: *

Мы будем использовать PuTTY для создания SSH-туннеля, а затем подключимся через созданный нами туннель.

Откройте PuTTY.

В левом меню перейдите в раздел * Connection→ SSH→ Tunnels *.

В разделе * Add New Forwarded Port * введите + 5901 + в качестве * исходного порта * и + localhost: 5901 + в качестве * Destination *.

Нажмите кнопку * Добавить *.

изображение: https: //assets.digitalocean.com/articles/vnc-debian8/jWDVCt9.png [PuTTY SSH Tunnel Configuration]

Теперь вы можете перейти в раздел * Session * в левом меню.

Введите IP-адрес вашего Droplet в поле * Имя хоста (или IP-адрес) *.

Нажмите кнопку * Open * для подключения. Вы также можете сохранить эти параметры для последующего использования.

изображение: https: //assets.digitalocean.com/articles/vnc-debian8/zvIl1fJ.png [PuTTY SSH-соединение]

Войдите под своим * vnc * пользователем.

Держите окно PuTTY открытым, пока вы устанавливаете VNC-соединение.

Теперь вы можете использовать вашу программу просмотра VNC как обычно. Просто введите * localhost

5901 * в качестве адреса и поддерживайте подключение SSH в фоновом режиме.

изображение: https: //assets.digitalocean.com/articles/vnc-debian8/FZWF3UH.png [Средство просмотра UltraVNC: localhost

5901]

  • OS X: *

Чтобы установить SSH-туннель, используйте следующую строку в терминале:

ssh vnc@ -L 5901:localhost:5901

Аутентификация как обычно для пользователя * vnc * для SSH. Затем в приложении «Общий экран» используйте * localhost: 5901 *.

Заключение

Теперь вы можете использовать общий удаленный рабочий стол на вашем сервере Debian 8.

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

Related