Как настроить rdp ubuntu

Удаленный рабочий стол Ubuntu

Доброго времени суток дорогие читатели. Ранее я писал о подключении к удаленному рабочему столу Linux. В примере использовалось подключение рабочих столов KDE и XFCE. Сегодня рассмотрим как подключить удаленный рабочий стол Ubuntu который установлен в системе.

Подключиться к рабочему столу Ubuntu можно с использованием VNC либо RDP. Я выбрал второй, благодаря тому что RDP клиент установлен во всех WIndows системах он очень популярен. Для подключения к Ubuntu по RDP необходимо установить ПО XRDP.
Тестировать подключение к рабочему столу я буду на Ubuntu 20.04. Пакет XRDP также последний на данный момент.

Установка XRDP

Установка XRDP на Ubuntu делается командой

В процессе установки будет автоматически сгенерирован сертификат для шифрования RDP соединения.

Надпись ssl_gen_key_xrdp ok свидетельствует о том что процесс генерации сертификата прошел успешно.

Добавим сервис xrdp в автозагрузку

Проверим статус xrdp

Статус active говорит о том что сервис запущен и работает.

Настройка XRDP
Настроим брандмауэр

Необходимо открыть порт в брандмауэре. Давайте проверим включен ли он вообще

Если status указан inactive советую включить брандмауэр. Делается это командой

Только будьте осторожны если подключены удаленно, например по SSH, т.к. порт может быть закрыт.

По умолчанию протокол RDP использует порт 3389. Откроем данный порт используя брандмауэр UFW

Теперь любой клиент из подсети 172.16.169.0 сможет подключиться к Ubuntu используя протокол RDP.

Попросим брандмауэр перечитать правила доступа для применения настроек

Посмотрим статус UFW

Разрешим использовать сертификат

Добавим пользователя xrdp в группу ssl-cert для возможности использования ранее созданного сертификата.

Перезапустим xrdp чтобы применить изменения

Подключение к рабочему столу Ubuntu

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

Для подключения нам потребуется имя сервера, либо IP адрес и логин/пароль для входа. Узнать IP адрес в Ubuntu можно так

Переходим к подключению. Запустим клиент удаленного рабочего стола, в Windows он называется: Подключение к удаленному рабочему столу. Вводим IP адрес и нажимаем Подключить

Система будет выводить предупреждения и возможно задавать вопросы, со всем соглашаемся. И в открывшемся окне вводим Username и Password от входа в Ubuntu.

Смена раскладки клавиатуры происходит клавишами Windows+Пробел. Если раскладка не меняется, необходимо закрыть окно Удаленного подключения, поменять раскладку и снова подключиться.

С большей долей вероятности при первом подключении будет черный экран. Как это исправить читаем далее.

Источник

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, потребуется сценарий примерно такого содержания:

Обратите внимание: в скриптах лучше прописывать полный путь к исполняемым файлам — это хорошая привычка. Сделаем скрипт исполняемым и на этом настройку сервера 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]).

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

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

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

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

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

Источник

Удаленный рабочий стол в Ubuntu

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

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

Читайте также:  Как настроить smtp gmail com

Удаленный рабочий стол VNC в Ubuntu

Как я уже сказал, в качестве протокола удаленного доступа мы будем применять VNC. А в качестве сервера — стандартный VNC сервер Ubuntu. Надо только немного его настроить.

Откройте главное меню, а затем запустите утилиту Параметры системы. Здесь откройте раздел Общий доступ:

Здесь кликните по пункту Общий доступ к экрану, чтобы открыть окно настроек:

Здесь надо включить переключатель вверху окна, затем напротив поля «Требовать пароль» введите пароль, который будет использоваться для подключения:

Настройки можно закрыть, удаленный рабочий стол Ubuntu настроен. И уже сейчас вы можете пытаться подключиться к вашему компьютеру с помощью другого дистрибутива Linux. Но есть еще один момент. Вы не сможете подключиться из Windows. По умолчанию включено обязательное шифрование. А это поддерживается не всеми клиентами. Чтобы отключить принудительное шифрование нужно установить dconf-editor:

sudo apt install dconf-editor

Затем откройте программу и перейдите по пути org.gnome.desktop.remote-access там сделайте этот пункт Disabled:

Теперь вы готовы тестировать подключение к удаленному рабочему столу Ubuntu. Откройте главное меню и найдите клиент удаленного подключения Remmina.

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

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

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

Теперь самое время подключаться из другого компьютера. Вы можете использовать любой VNC клиент для Linux, Windows или Android и подключиться к своему компьютеру если он находится в локальной сети. Кроме того, вы можете получить к нему доступ даже из Интернет создав частную локальную сеть, например, с помощью hamachi или OpenVPN.

Удалённый рабочий стол RDP в Ubuntu

Если вам надо часто подключаться удалённо к Ubuntu из Windows, то лучше использовать протокол разработанный для Windows — RDP. Он тоже уже достаточно старый, но почти везде поддерживается. Для установки RDP сервера выполните:

sudo apt install xrdp

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

sudo systemctl status rdp

Затем вы можете подключатся к настроенному серверу из Windows стандартными средствами системы или из Linux с помощью утилиты Reminna как в предыдущем варианте, только протокол надо будет выбрать RDP вместо VNC.

В Windows откройте поиск и найдите там подключение к удалённому рабочему столу:

Введите IP адрес сервера, на котором запущен RDP клиент и к которому вы хотите подключится:

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

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

Выводы

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

Источник

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