Терминальный сервер linux rdp

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

В предыдущей статье мы разобрали запуск сервера VNC на виртуальной машине любого типа. У этого варианта масса недостатков, основным из которых являются высокие требования к пропускной способности каналов передачи данных. Сегодня мы попробуем подключиться к графическому рабочему столу на Linux по RDP (Remote Desktop Protocol). Система VNC основана на передаче массивов пикселей по протоколу RFB (Remote Framebuffer), а RDP позволяет отправлять более сложные графические примитивы и высокоуровневые команды. Обычно он используется для организации служб удаленных рабочих столов в Windows, но серверы для Linux также доступны.

Оглавление:

Установка графического окружения

Мы возьмем виртуальную машину с Ubuntu Server 18.04 LTS с двумя вычислительными ядрами, четырьмя гигабайтами оперативной памяти и жестким диском (HDD) на двадцать гигабайт. Более слабая конфигурация плохо подходит для графического десктопа, хотя это зависит от решаемых задач. Не забывайте использовать промокод Habrahabr10 для получения скидки в 10% при заказе.

Установка окружения рабочего стола со всеми зависимостями выполняется следующей командой:

Как и в предыдущем случае, мы выбрали XFCE из-за относительно невысоких требований к вычислительным ресурсам.

Русификация сервера и установка ПО

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

Того же эффекта можно достичь, отредактировав вручную файл /etc/default/locale.

Для локализации GNOME и KDE в репозитории есть пакеты language-pack-gnome-ru и language-pack-kde-ru — они понадобятся, если вы будете использовать программы из этих сред рабочего стола. В XFCE переводы устанавливаются вместе с приложениями. Дальше можно инсталлировать словари:

Кроме того, инсталляция переводов может потребоваться для некоторых прикладных программ:

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

Установка и настройка сервера RDP

В репозиториях Ubuntu есть распространяемый свободно сервер Xrdp, которым мы и воспользуемся:

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

Сервер Xrdp запускается с правами пользователя xrdp и по умолчанию берет cертификат /etc/ssl/private/ssl-cert-snakeoil.key, который можно заменить собственным. Для доступа на чтение файла нужно добавить пользователя в группу ssl-cert:

Настройки по умолчанию можно найти в файле /etc/default/xrdp, а все прочие конфигурационные файлы сервера лежат в каталоге /etc/xrdp. Основные параметры находятся в файле xrdp.ini, который можно не менять. Конфиг хорошо документирован, к тому же в комплекте имеется соответствующие manpages:

Осталось только отредактировать скрипт /etc/xrdp/startwm.sh, который исполняется при инициализации пользовательской сессии. Предварительно сделаем резервную копию скрипта из дистрибутива:

Чтобы запустить окружение рабочего стола XFCE, потребуется сценарий примерно такого содержания:

Читайте также:  Драйвер для geforce 8800 gts 512 windows 10

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

Настройка межсетевого экрана

По умолчанию Xrdp слушает TCP-порт 3389 на всех интерфейсах. В зависимости от конфигурации виртуального сервера может потребоваться настройка межсетевого экрана Netfilter. В Linux это обычно делается с помощью утилиты iptables, но в Ubuntu лучше использовать ufw. Если IP-адрес клиента известен, настройка осуществляется следующей командой:

Разрешить соединения с любого IP можно так:

Протокол RDP поддерживает шифрование, но открывать доступ к серверу Xrdp из сетей общего пользования — плохая идея. Если у клиента нет фиксированного IP, для повышения уровня безопасности сервер должен слушать только localhost. Доступ к нему лучше настроить через туннель SSH, который безопасно перенаправит трафик с клиентского компьютера. Аналогичный подход мы использовали в предыдущей статье для сервера VNC.

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

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

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

Подключиться к серверу можно с помощью любого клиента RDP, включая встроенный клиент службы удаленных рабочих столов Windows. Если Xrdp слушает внешний интерфейс, никаких дополнительных телодвижений не понадобится. Достаточно указать в настройках соединения IP-адрес VPS, имя пользователя и пароль. После подключения мы увидим примерно такую картину:

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

Если сервер Xrdp слушает только localhost, на клиентском компьютере трафик придется упаковать в туннель SSH (на VPS должен быть запущен sshd). Под Windows можно использовать графический клиент SSH (например, PuTTY), а в UNIX-системах нужна утилита ssh:

После инициализации туннеля клиент RDP будет подключаться уже не к удаленному серверу, а к локальному хосту.

С мобильными устройствами сложнее: способные поднять туннель клиенты SSH придется покупать, к тому же в iOS и iPadOS фоновая работа сторонних приложений затруднена из-за слишком хорошей оптимизации энергопотребления. На iPhone и iPad поднять туннель в отдельном приложении не получится — потребуется приложение-комбайн, которое само умеет устанавливать соединение RDP через SSH. Такое, например, как Remoter Pro.

Менеджер сессий и сеансы пользователей

Возможность многопользовательской работы реализована непосредственно в сервере Xrdp и не требует дополнительной настройки. После запуска сервиса через systemd один процесс работает в режиме демона, слушает порт 3389 и взаимодействует через localhost с менеджером сессий.

Менеджер сеансов пользователям обычно не виден, потому что заданные в настройках клиента логин и пароль передаются ему автоматически. Если этого не произошло или при аутентификации возникла ошибка, вместо рабочего стола появится интерактивное окно для входа в систему.

Автоматический запуск менеджера сессий прописан в файле /etc/default/xrdp, а конфигурация хранится в /etc/xrdp/sesman.ini. По умолчанию выглядит она примерно так:

Здесь можно ничего не менять, стоит только запретить вход с правами root (AllowRootLogin=false). Для каждого авторизовавшегося в системе пользователя запускается отдельный процесс xrdp: если отсоединиться не завершив сеанс, пользовательские процессы по умолчанию продолжат работать, а к сеансу можно будет подключиться заново. Настройки можно изменить в файле /etc/xrdp/sesman.ini (секция [Sessions]).

Читайте также:  Иконки для windows ipack пакеты

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

С двухсторонним буфером обмена проблем обычно не возникает, а вот с русской раскладкой клавиатуры придется немного пошаманить (русская локаль должна быть уже установлена). Отредактируем клавиатурные настройки сервера Xrdp:

В конец конфигурационного файла нужно добавить следующие строки:

Остается сохранить файл и перезапустить Xrdp:

Как видите, поднять сервер RDP на линуксовом VPS несложно, а в предыдущей статье мы уже разобрали настройку VNC. Помимо этих технологий, есть еще один интересный вариант: использующая модифицированный протокол NX 3 система X2Go. С ней мы разберемся в следующей публикации.

Источник

Установка RDP сервера

Несмотря на то, что изначально на VPS и выделенном сервере отсутствует возможность подключения к удаленному рабочему столу в графическом режиме, такое подключение можно настроить самостоятельно, установив несколько пакетов, а именно: саму графическую среду и средство для удаленного подключения.

Содержание

Общая информация

Из графических окружений будет рассмотрена установка следующих:

1) XFCE. Официальный сайт — xfce.org

XFCE по ресурсоёмкости является одним из наиболее «легковесных» графических окружений, поэтому его рекомендуется использовать на VPS с невысокой производительностью.

2) GNOME. Официальный сайт — gnome.org

GNOME является стандартной оболочкой в Debian. Поэтому, если вы обычно работаете именно в этом окружении, то установка его на VPS не составит особых сложностей.

3) Unity. Официальный сайт — unity.ubuntu.com

Unity — свободная оболочка для среды рабочего стола GNOME, разрабатываемая для операционной системы Ubuntu. Начиная с Ubuntu 11.04, Unity пришла на смену классической оболочке GNOME.

4) X Window System. Официальный сайт — x.org

Из программных средств для создания удаленного подключения будет рассмотрена установка сервера XRDP, который позволяет подключаться к VPS по RDP протоколу. В ОС Windows в качестве клиента используется утилита mstsc.

Установка графической оболочки и XRDP

Debian 7.4 (32 и 64 bit)

1. Обновляем список доступных пакетов:

2. Устанавливаем графическое окружение и xRDP:

3. Редактируем файл запуска xRDP. Наща цель — настроить автоматическую загрузку графической оболочки при запуске VPS. Воспользуемся любым редактором, например, nano:

Добавляем в файл startwm.sh следующие строки:

В обязательном порядке добавьте в конце пустую строку. Сохраните результаты при помощи нажатия клавиш Ctrl+O и выйдите из меню редактора — Ctrl+X.

4. Делаем перезапуск xRDP сервера при помощи команды

5. По окончании выполнения вышеописанных шагов необходимо перезапустить VPS из панели управления SolusVM либо выполнив команду

CentOS 6.*

1. Обновляем список доступных пакетов:

2. Устанавливаем графическое окружение:

3. Подключаем репозитории EPEL и Desktop:

4. Выполняем установку xRDP и добавляем его в автозапуск:

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

Отобразится диалоговое окно, в котором необходимо выбрать DNS configuration, после чего нажать клавишу Enter.

В следующем окне конфигурации в поле Primary DNS указываем IP адрес 8.8.8.8, а в поле для Secondary DNS вводим IP адрес 4.2.2.3. Затем нажимаем ОК. Сохраняем внесенные изменения, нажав на кнопку Save&Quit.

6. Перезапускаем виртуальный сервер через SolusVM или выполняем команду

CentOS 7

1. Выполняем обновление пакетов:

2. Добавляем репозитории EPEL и Desktop:

Читайте также:  Как проверить отключена ли проверка подписи драйверов windows 10

3. Устанавливаем графическое окружение и xRDP:

4. Обязательно необходимо указать графическую оболочку, которая будет доступна по умолчанию. Команда:

5. Чтобы xRDP загружался автоматически при старте виртуального сервера, дополнительно выполняем следующие команды:

6. Отключаем Firewalld:

7. Перезапускаем виртуальный сервер через SolusVM или выполняем команду

Ubuntu 12.04 (64 bit)

1. Выполняем обновление пакетов

2. Устанавливаем графическое окружение и сервис xRDP:

3. Настраиваем автозагрузку xRDP:

4. По окончании выполнения вышеописанных шагов необходимо перезапустить VPS из панели управления SolusVM либо выполнив команду

Ubuntu 14.04 (64 bit)

1. Выполняем обновление пакетов

2. Устанавливаем сервис xRDP:

3. Устанавливаем графическое окружение:

4. Настраиваем использование сервером установленной графической оболочки по умолчанию:

5. Редактируем файл запуска xRDP с помощью любого редактора, например, nano:

Итоговое содержимое файла должно быть таким:

Важно! Обратите внимание на тот факт, что в конце файла необходимо добавить пустую строку. Сохраните результаты редактирования сочетанием клавиш Ctrl+O и выйдите из редактора через Ctrl +X.

6. Делаем перезапуск xRDP сервера:

7. Перезапускаем виртуальный сервер через SolusVM или выполняем команду

Подключение по RDP

  • Запускаем на своём ПК утилиту mstsc через меню Пуск ->Выполнить

  • Вводим IP адрес сервера и нажимаем на кнопку Подключить.

  • В случае возникновения окна с предупреждением о невозможности проверки подлинности компьютера, нажимаем на кнопку Да.

  • В появившемся окне вводим данные для доступа и нажимаем ОК.

  • Если данные были введены верно, то откроется рабочий стол VPS.

Из соображений безопасности, настоятельно не рекомендуется постоянно работать на VPS в графическом режиме от имени root-пользователя. Лучше всего для этих целей создать нового пользователя при помощи команды в консоли:

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

А после ввода нового пароля вы сможете использовать новые данные для подключения по RDP.

Как настроить подключение в полноэкранном режиме?

Полноэкранный режим включается в самой утилите mstsc через кнопку Параметры.

После нажатия на эту кнопку развернется окно с доступными настройками, среди которых необходимо перейти во вкладку Экран, после чего в разделе Настройка отображения перевести бегунок в крайнее правое положение, как показано на изображении.

После этого можно вернуться во вкладку Общие и инициировать подключение к серверу.

Решение проблемы с раскладкой клавиатуры в XRDP

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

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

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

Хотите купить VPS или выделенный сервер? Смотрите предложения от HOSTiQ.ua. У нас вы также можете купить SSL-сертификаты и зарегистрировать домен дешево.

Источник

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