VPS на Linux с графическим интерфейсом: запускаем сервер VNC на Ubuntu 18.04

Некоторые пользователи арендуют относительно недорогие VPS с Windows для запуска сервиса удаленных рабочих столов. То же самое можно сделать и на Linux без размещения в датацентре собственного железа или аренды выделенного сервера. Кому-то нужна привычная графическая среда для тестов и разработки или удаленный десктоп с широким каналом для работы с мобильных устройств. Есть масса вариантов применения основанной на протоколе Remote FrameBuffer (RFB) системы Virtual Network Computing (VNC). В небольшой статье мы расскажем, как настроить ее на виртуальной машине с любым гипервизором..
Оглавление:
Выбор сервера VNC
Сервис VNC может быть встроен в систему виртуализации, при этом гипервизор свяжет его с эмулируемыми устройствами и никакой дополнительной настройки не потребуется. Этот вариант предполагает значительные накладные расходы и поддерживается далеко не всеми провайдерами — даже в менее ресурсоемкой реализации, когда вместо эмуляции реального графического устройства виртуальной машине передается упрощенная абстракция (фреймбуфер). Иногда VNC-сервер привязывается к работающему X-серверу, но этот способ больше подходит для доступа к физической машине, а на виртуальной он создает ряд технических сложностей. Проще всего установить VNC-сервер со встроенным X-сервером. Он не требует наличия физических устройств (видеоадаптера, клавиатуры и мыши) или их эмуляции с помощью гипервизора, а потому подходит для VPS любого типа.
Установка и настройка
Нам потребуется виртуальная машина с Ubuntu Server 18.04 LTS в конфигурации по умолчанию. В стандартных репозиториях этого дистрибутива есть несколько серверов VNC: TightVNC, TigerVNC, x11vnc и прочие. Мы остановились на TigerVNC — актуальном форке не поддерживаемого разработчиком TightVNC. Настройка других серверов выполняется сходным образом. Также нужно выбрать окружение рабочего стола: оптимальным, на наш взгляд, вариантом будет XFCE из-за относительно невысоких требований к вычислительным ресурсам. Желающие могут установить другой DE или WM: тут все зависит от личных предпочтений, однако выбор ПО напрямую влияет на потребность в оперативной памяти и вычислительных ядрах.

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

Добавим пользователя в группу sudo, чтобы он мог решать связанные с администрированием задачи. Если такой потребности нет, этот шаг можно пропустить:
На следующем шаге нужно запустить сервер VNC с привилегиями пользователя vnc, чтобы создать безопасный пароль и конфигурационные файлы в каталоге
/.vnc/. Длина пароля может быть от 6 до 8 символов (лишние обрезаются). При необходимости также задается пароль только для просмотра, т.е. без доступа к клавиатуре и мыши. Следующие команды выполняются от имени пользователя vnc:

По умолчанию протокол RFB использует диапазон TCP-портов от 5900 до 5906 — это т.н. порты дисплея, каждый из которых соответствует экрану X-сервера. При этом порты ассоциированы с экранами от :0 по :6. Запущенный нами экземпляр сервера VNC слушает порт 5901 (экран :1). Прочие экземпляры могут работать на других портах с экранами :2, :3 и т. д. Перед дальнейшей настройкой нужно остановить сервер:
Команда должна вывести примерно такое сообщение: «Killing Xtigervnc process ID 18105… success!».
При запуске TigerVNC выполняет сценарий
/.vnc/xstartup для настройки параметров конфигурации. Создадим собственный скрипт, предварительно сохранив резервную копию имеющегося, если он существует:
Сеанс окружения рабочего стола XFCE запускается следующим скриптом xstartup:
Команда xrdb необходима, чтобы система VNC прочитала файл .Xresources в домашнем каталоге. Там пользователь может определить различные параметры графического рабочего стола: рендеринг шрифтов, цвета терминала, темы курсора и т.д. Сценарий необходимо сделать исполняемым:
На этом настройка сервера VNC завершена. Если запустить его командой vncserver -localhost no (от имени пользователя vnc), можно будет подключиться с заданным ранее паролем и увидеть такую картину:

Запуск службы через systemd
Ручной запуск сервера VNC плохо подходит для боевого применения, поэтому мы настроим системную службу. Команды выполняются от имени root (используем sudo). Для начала создаем новый юнит-файл для нашего сервера:
Символ @ в имени позволяет передавать аргумент для настройки службы. В нашем случае он задает порт дисплея VNC. Юнит-файл состоит из нескольких разделов:
Затем нужно уведомить systemd о появлении нового файла и активировать его:
Цифра 1 в имени задает номер экрана.
Останавливаем сервер VNC, запускаем его как службу и проверяем статус:
Если служба работает, мы должны получить примерно такой результат.

Подключение к рабочему столу
Наша конфигурация не использует шифрование, поэтому сетевые пакеты могут быть перехвачены злоумышленниками. К тому же в VNC-серверах достаточно часто находят уязвимости, так что открывать их для доступа из интернета не стоит. Для безопасного подключения на локальном компьютере нужно упаковать трафик в туннель SSH, а затем настроить клиент VNC. Под Windows можно использовать графический клиент SSH (например, PuTTY). Для безопасности TigerVNC на сервере слушает только localhost и недоступен напрямую из сетей общего пользования:

В Linux, FreeBSD, OS X и прочих UNIX-подобных ОС туннель с клиентского компьютера делается с помощью утилиты ssh (на сервере VNC должен быть запущен sshd):
Опция -L привязывает порт 5901 удаленного подключения к порту 5901 на localhost. Опция -C включает сжатие, а -N указывает утилите ssh на отсутствие необходимости выполнять удаленную команду. Опция -l задает login для удаленного входа в систему.
После настройки туннеля на локальном компьютере необходимо запустить клиент VNC и установить соединение с хостом 127.0.0.1:5901 (localhost:5901), использовав для доступа к серверу VNC заданный ранее пароль. Теперь мы можем безопасно взаимодействовать через шифрованный туннель с графическим окружением рабочего стола XFCE на VPS. На скриншоте в эмуляторе терминала запущена утилита top, чтобы показать незначительное потребление виртуальной машиной вычислительных ресурсов. Дальше все будет зависеть от пользовательских приложений.
Как подключиться к виртуальному серверу Linux
Такие простые вещи, как подключение к удаленному серверу, могут быть трудны для начинающих. Серверами под управлением ОС Windows Server можно было управлять удаленно с помощью проприетарного протокола удаленного рабочего стола Microsoft, большинство серверов работают на дистрибутивах Linux.
Подключение к серверу Linux или VPS не требует больших технических знаний; однако это не так очевидно, как подключение их аналогов для Windows. Эта статья предназначена для того, чтобы помочь вам понять, как подключиться к вашему удаленному серверу Linux или VPS, однако сначала давайте рассмотрим некоторые основы.
VPS означает виртуальный частный сервер. Это услуга, предоставляемая веб-хостами, которая разбивает сервер на более мелкие виртуальные машины. Затем эти виртуальные машины сдаются в аренду за небольшую часть стоимости выделенного сервера, и каждая из них действует как автономный сервер со своей собственной операционной системой и выделенными ресурсами.
Linux VPS, как вы, возможно, уже догадались, — это просто виртуальный частный сервер, на котором работает дистрибутив Linux, такой как Debian, Ubuntu, CentOS, RHEL и т. д.
Что такое SSH?
SSH (т. е. Secure Shell) — это безопасный и мощный сетевой протокол, который позволяет пользователям напрямую обращаться к командной строке сервера Linux. Это даст вам возможность выполнять команды Linux, которые управляют вашим сервером VPS и манипулируют файлами и приложениями, не выходя из дома (или офиса).
По умолчанию безопасная оболочка использует порт 22. Однако мы рекомендуем вам изменить порт в целях безопасности, так как в случае атаки это первый порт, который попытаются использовать потенциальные хакеры.
SSH уже автоматически встроен в операционные системы macOS и Linux, но не в Windows. Поэтому вы должны сначала установить клиент SSH, такой как PuTTY, прежде чем пытаться подключиться к серверу Linux из системы Windows. PuTTY — это SSH-клиент, который мы используем в этой статье, и мы рекомендуем вам сделать то же самое.
Что такое PuTTY?
PuTTY — это бесплатное программное приложение для операционных систем Microsoft Windows, которое можно использовать для подключения SSH к вашему серверу. PuTTY — это клиент SSH и telnet, первоначально разработанный Саймоном Тэтэмом для платформы Windows. PuTTY — это программное обеспечение с открытым исходным кодом, которое разрабатывается и поддерживается группой добровольцев.
Обратите внимание, что IP-адреса и имена пользователей, используемые в следующих разделах этой статьи, предназначены исключительно для использования в качестве примера и не представляют собой какие-либо фактические серверы, принадлежащие какой-либо организации.
Как подключиться к серверу Linux из Windows
Как упоминалось ранее, для входа на сервер Linux с устройства Windows мы будем использовать стороннее программное обеспечение под названием PuTTY. Если оно у вас еще не установлено, вы можете скачать приложение здесь https://putty.org.ru/download.html.
Шаг 1: Откройте клиент терминала PuTTY. Вас встретит следующее окно:
Шаг 2: Введите параметры подключения:
- Имя хоста: введите IP вашего сервера;
- Порт: 22 (оставьте по умолчанию);
- Тип подключения: SSH (оставьте по умолчанию).
Шаг 3: Нажмите «Открыть», чтобы начать сеанс SSH.
Если вы впервые подключаетесь к серверу со своего компьютера, вы увидите следующий вывод. Подтвердите подключение, нажав «Да».
После открытия SSH-соединения вы должны увидеть приглашение терминала с запросом вашего имени пользователя.
Шаг 4: Введите имя пользователя вашего сервера – «root».
Шаг 5: Далее введите свой пароль. После того, как вы ввели его, нажмите «Enter».
Обратите внимание, что при вводе пароля вы не увидите движения курсора или каких-либо символов. Не волнуйтесь, это стандартная функция безопасности PuTTY.
Как подключиться к серверу Linux из Linux
Шаг 1: Откройте терминал. Для этого одновременно нажмите Ctrl+Alt+T или введите Terminal в функцию поиска.
Шаг 2: Введите следующую команду ssh username@serveripaddress, где имя пользователя — это пользователь, к которому вы подключаетесь (используйте root, если вы хотите иметь root-доступ), а serveripaddress — это IP-адрес сервера, к которому вы подключаетесь. Затем нажмите «Ввод».
Например: учитывая идентификатор пользователя «user1» и URL-адрес server1.com (82.149.65.12), для подключения к серверу необходимо ввести следующий синтаксис:
Шаг 3: Введите пароль для выбранного пользователя и нажмите «Ввод».
Как подключиться к Linux из macOS
Шаг 1: Откройте терминал. Для этого перейдите в Приложения > Утилиты, а затем откройте Терминал.
Шаг 2: Введите следующую команду ssh username@serveripaddress, где имя пользователя — это пользователь, к которому вы подключаетесь (используйте root, если вы хотите иметь root доступ), а serveripaddress — это IP-адрес сервера, к которому вы подключаетесь. Затем нажмите «Ввод».
Например: учитывая идентификатор пользователя «user1» и URL-адрес server1.com (82.149.65.12), для подключения к серверу необходимо ввести следующий синтаксис:
Шаг 3: Введите пароль для выбранного пользователя и нажмите «Ввод».
Вывод
Управление Linux-сервером может оказаться довольно сложным для неопытных пользователей. Мы надеемся, что сегодняшняя статья дала вам некоторое представление о том, что такое виртуальный сервер и SSH. Мы также хотим, чтобы это подробное руководство помогло вам сделать первый шаг в изучении того, как подключиться к Linux.
Средняя оценка 0 / 5. Количество голосов: 0
Спасибо, помогите другим — напишите комментарий, добавьте информации к статье.
Или поделись статьей
Видим, что вы не нашли ответ на свой вопрос.
Помогите улучшить статью.
Напишите комментарий, что можно добавить к статье, какой информации не хватает.
Как подключиться к vps ubuntu доска инфо
Если на вашем компьютере установлена ОС Linux, просто выполните в терминале команду ssh root@[IP-адрес сервера].
IP-адрес сервера можно посмотреть в вашем Личном кабинете на странице «Мои сервера».
Если на вашем компьютере установлена Windows, установите клиент PuTTy и используйте его для подключения к серверу.
Вставка в PuTTY производится правой кнопкой мыши. Пароль при вводе не отображается.
Как зайти на виртуальный сервер (VPS/VDS) или Slidebar с Linux по SSH
Для подключения к виртуальному серверу (VPS/VDS) на Linux по SSH через OC Windows нужно:
Установить клиент, который будет заходить по SSH на сервер. Рекомендуем программу PuTTY. После скачивания, установите и запустите программу.
2) Далее узнаете IP-адрес виртуального сервера. Зайдите в личный кабинет на страницу с информацией о виртуальном сервере.
3) Вписываете IP-адрес виртуального сервера в программу PuTTY, как это показано на скриншоте и нажмите кнопку открыть.
4) Появится предупреждение, нажмите “ОК”

5) Введите логин и пароль от виртуального сервера. Данные записаны в личном кабинете.
6) Впишите логин, нажмите кнопку “Enter”, далее пароль и опять нажмите “Enter”. Если все правильно, вы зайдете на виртуальный сервер по SSH

Linux
Для подключения к виртуальному серверу (VPS/VDS) на Linux по SSH через операционные системы на базе Linux нужно:
Зайти в приложение Terminal

2) Узнаете IP-адрес виртуального сервера, логин и пароль для доступа к серверу. Зайдите в личный кабинет на страницу с информацией о виртуальном сервере.
3) Пишите такую команду SSH ЛОГИН@IP-адрес (пример: SSH root@46.134.211.165) и нажимаете Enter на клавиатуре.
4) Вводите пароль, который указан в личном кабинете (при вводе пароля в терминал пароль не показывается в целях безопасности) и нажимаете Enter на клавиатуре . Вы подключены к серверу по SSH.
macOS
Для подключения к виртуальному серверу (VPS/VDS) на Linux по SSH через macOS нужно:
Зайти в приложение Terminal.app, которое установлено на операционных системах macOS
2) Узнаете IP-адрес виртуального сервера, логин и пароль для доступа к серверу. Зайдите в личный кабинет на страницу с информацией о виртуальном сервере.
3) Пишите такую команду SSH ЛОГИН@IP-адрес (пример: SSH root@46.134.211.165) и нажимаете Enter на клавиатуре.
4) Соглашаетесь с условиями, пишите “yes” и жмете Enter на клавиатуре.
5) Вводите пароль, который указан в личном кабинете (при вводе пароля в терминал пароль не показывается в целях безопасности) и нажимаете Enter на клавиатуре . Вы подключены к серверу по SSH.

Для подключения к виртуальному серверу (VPS/VDS) на Linux по SSH через iOS нужно:
Скачиваете одну из платных или бесплатных приложений, которые подключаются по SSH к виртуальному серверу. В этой инструкции использована бесплатная программа iTerminal
Заходите в программу и выбрать пункт “SSH”
3) Узнаете IP-адрес виртуального сервера, логин и пароль для доступа к серверу. Зайдите в личный кабинет на страницу с информацией о виртуальном сервере.
4) Вводите IP-адрес в строку “Host name or IP address”, логин — “User name”, пароль — “Password” и жмете кнопку “Connect”.