Как сделать терминальный сервер на ubuntu

Обновлено: 07.07.2024

Этичный хакинг и тестирование на проникновение, информационная безопасность

Оглавление: Всё о RDP: от настройки до взлома

Теперь рассмотрим, как из Linux подключиться к удалённому столу Windows.

Как подключиться к удалённому столу по RDP в Linux

Клиенты RDP существуют для многих платформ, даже для мобильных телефонов, конечно, имеются клиенты RDP и для Linux

Мы рассмотрим 2 клиента RDP под Linux

  • freerdp — бесплатная реализация протокола удалённого рабочего стола (Remote Desktop Protocol (RDP))
  • rdesktop — клиент с открытым исходным кодом для служб Windows удалённого рабочего стола

Также имеется клиент VNC и RDP с графическим пользовательским интерфейсом — Remmina. У программы много настроек, в целом она дружественная пользователю за исключением одного недостатка — она не заработала. Тем не менее она присутствует в стандартных репозиториях большинства дистрибутивов, поэтому при желании вы без труда сможете установить и попробовать её.

Как пользоваться freerdp

Для установки freerdp в Debian, Kali Linux, Linux Mint, Ubuntu и производные выполните команду:

Если пакеты freerdp2-x11 и freerdp2-shadow-x11 не найдены, то поищите пакет с именем freerdp.

Для установки freerdp в Arch Linux и производные выполните команду:

Как подключиться командой freerdp

Для подключения к удалённому рабочему столу с помощью xfreerdp, запустите команду вида:

  • /f — опция означает открыть удалённый стол в полноэкранном режиме
  • /u:ИМЯ-ПОЛЬЗОВАТЕЛЯ — имя учётной записи на компьютере, к которому подключаемся
  • /p:ПАРОЛЬ — пароль указанной учётной записи
  • /v:ХОСТ[:ПОРТ] — IP адрес или имя компьютера, к удалённому столу которого выполняется подключение. ПОРТ указывать необязательно

Например, я хочу открыть удалённый стол компьютера с IP адресом 192.168.0.101, на котором имеется пользователь Tester с паролем 1234, причём я хочу открыть удалённый рабочий стол в полноэкранном режиме, тогда команда следующая:

Для переключения между полноэкранным режимом и оконным, используется сочетание клавиш Ctrl+Alt+Enter.


Поскольку используются самоподписанные сертификаты без добавленного в хранилище приватного CA (центра аутентификации, удостоверяющего центра), то единственный выбор, это согласиться доверять указанному сертификату, для этого введите Y.

В полноэкранном режиме вы можете отключиться от удалённого рабочего стола двумя способами:


Для запуска в оконном режиме не используйте опцию /f:


Опции xfreerdp

У программы xfreerdp множество опций, далее выбраны самые интересные из них:

Как в freerdp создать общие папки

С удалённым рабочим столом, подключённым по RDP, можно иметь совместные папки. Рассмотрим несколько примеров.

Чтобы подключить все точки монтирования в текущей системе как совместные папки на удалённом рабочем столе используйте опцию +drives, например:

На скриншоте показан удалённый стол Windows, в котором доступны папки Linux системы, из которой сделано подключение по RDP:


Чтобы подключить только домашнюю папку текущего пользователя Linux в качестве сетевой папки к компьютеру по RDP укажите опцию +home-drive:

В этом случае домашняя папка смонтирована в систему, подключённую по протоколу удалённый рабочий стол:


С опцией /drive:ИМЯ,/ПУТЬ/В/LINUX можно подключить любую папку с любым именем. В качестве /ПУТЬ/В/LINUX должен быть указан путь в текущей системе, а ИМЯ это то имя, которое будет иметь шара в удалённой системе. Например, чтобы подключить корневую папку текущей системы (/) к удалённой с именем root:

Как вывести удалённый рабочий стол на другой монитор

Если у вас несколько мониторов, то вы можете выбрать, какой из них использовать для удалённой системы. Чтобы вывести список мониторов запустите команду:

Выбранный идентификатор монитора (или нескольких мониторов) укажите с помощью опции /monitors: [, [,…]].

Как установить размер окна удалённого рабочего стола

Если вместо высоты (h) установлена ширина (w), примерно как /size:50%w, то будет использоваться 50 процентов ширины.

Как пользоваться rdesktop

Для установки rdesktop в Debian, Kali Linux, Linux Mint, Ubuntu и производные выполните команду:

Для установки rdesktop в Arch Linux и производные выполните команду:

Как подключиться к удалённому рабочему столу с rdesktop

Для подключения к RDP с rdesktop используйте команду вида:

Как обычно, в самом начале возникнет проблема с сертификатом:


Набираем yes.

Затем возникнет ошибка:


Всё равно продолжить:


После этого подключение rdesktop проходит без ошибок:


Если вы хотите ограничить доступ к компьютеру, разрешите доступ только с проверкой подлинности на уровне сети (NLA). При включении этого параметра пользователи должны пройти аутентификацию в сети, чтобы подключиться к компьютеру. Разрешение подключений только с компьютеров с удаленным рабочим столом с NLA является более безопасным методом проверки подлинности, который поможет защитить компьютер от злоумышленников и вредоносных программ. Чтобы узнать больше о NLA и удаленном рабочем столе, ознакомьтесь с разделом Configure Network Level Authentication for Remote Desktop Services Connections (Настройка NLA для подключения к удаленному рабочему столу).

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

Как установить сервер RDP в Linux

Сервер удалённого рабочего стола RDP может работать не только на Windows, но и на Linux. В результате к Linux можно подключиться по протоколу RDP.

В Linux протокол RDP не встроен по умолчанию как в Windows. Также в Linux отсутствуют некоторые другие протоколы, которые используются прозрачно (незаметно) для пользователей Windows, например, для сетевой аутентификации.

Тем не менее существуют сервера RDP которые успешно работают на Linux.

Как использовать freerdp-shadow для запуска RDP сервера

Для установки freerdp в Debian, Kali Linux, Linux Mint, Ubuntu и производные выполните команду:

Для установки freerdp в Arch Linux и производные выполните команду:

Исполнимые файлы в разных дистрибутивах называются чуть по-разному. В Debian, Kali Linux, Linux Mint, Ubuntu файл для запуска RDP сервера называется: freerdp-shadow-x11

А в Arch Linux файл для запуска RDP сервера называется: freerdp-shadow-cli

Но по сути это одна программа и опции у них одинаковые.

Чуть выше, говоря о rdesktop, мы уже столкнулись с Network Level Authentication (NLA), то есть проверкой подлинности на уровне сети. Для запуска RDP сервера на Linux вы должны выбрать один из двух вариантов:

  • запустить сервер вовсе без аутентификации
  • включить NLA и сделать необходимые для неё настройки

Чтобы запустить RDP сервер вовсе без аутентификации используйте опцию -auth:

Если аутентификация включена, PAM используется с подсистемой X11. Запуск от имени пользователя root не обязателен, однако, если запускать от имени пользователя, только тот же пользователь, который запустил freerdp-shadow, может аутентифицироваться. Предупреждение: если аутентификация отключена, каждый может подключиться.

Любая сетевая служба без аутентификации это беда для безопасности системы. Поэтому рассмотрим, как запустить freerdp-shadow с поддержкой NLA.

Прежде всего для NLA необходимо создать файл, в котором будет строка вида:

Имя пользователя Linux нам известно, для вычисления хеша нужно выполнить команду вида:

К примеру, имя пользователя mial, а пароль цифра 2 тогда команда следующая:

Создаём текстовый файл SAM и в него записываем строку

Теперь запускаем freerdp-shadow-x11 с двумя опциями:

  • /sam-file:ФАЙЛ — указывает на расположение NTLM SAM файла для NLA аутентификации
  • /sec:nla — принудительное включение аутентификации по протоколу NLA

Итак, моя команда следующая:

Для проверки подключаюсь из Windows:


У нас запрашивают пароль — это означает, что на сервере RDP включена аутентификация NLA.

Для того, чтобы делиться не всем экраном, а только его частью, используйте опцию /rect:x,y,w,h. Где:

  • x,y — координаты верхнего левого угла прямоугольника
  • w — ширина прямоугольника
  • h — высота прямоугольника

К примеру, чтобы делиться частью экрана 500×500 пикселей с координатами 200,300:

Если при запуске RDP сервера freerdp-shadow вы получили ошибку:

То необходимо создать файл SAM и запустить freerdp-shadow с опциями /sam-file:SAM /sec:nla как это показано выше.

Как запустить RDP сервер с xrdp

Для установки xrdp в Debian, Kali Linux, Linux Mint, Ubuntu и производные выполните команду:

Для установки xrdp в Arch Linux и производные выполните команды:

Для запуска служб xrdp-sesman и xrdp в любом дистрибутиве выполните команду:

Важные файлы xrdp:

  • /etc/xrdp/xrdp.ini — файл настроек
  • /var/log/xrdp.log — файл журналов событий

Подключаемся из Windows к xrdp. Вводим имя пользователя и пароль пользователя Linux:


Теперь мы можем выполнять команды на компьютере с Linux так, будто бы мы сидим за ним:


Как из Linux подключиться к другому Linux по RDP

Каких-то особенностей при подключении с использованием программы xfreerdp нет, достаточно запустить сервер RDP, причём, если вы используете freerdp-shadow, то опции /sam-file:SAM /sec:nla также нужны:

Либо запустите xrdp-sesman и xrdp.

А затем подключение ничем не отключается от подключению к Windows:

Что касается rdesktop, то её не удалось заставить работать ни с одним из рассмотренных серверов RDP под Linux — если вы знаете, как это сделать, то пишите в комментариях.

Связанные статьи:

факультете информационной безопасности от GeekBrains? Комплексная годовая программа практического обучения с охватом всех основных тем, а также с дополнительными курсами в подарок. По итогам обучения выдаётся свидетельство установленного образца и сертификат. По этой ссылке специальная скидка на любые факультеты и курсы!


Рекомендуется Вам:

3 комментария to RDP в Linux: запуск сервера и подключение к Windows

Всё замечательно, если деется всё в локалке " -u Tester -p 1234 192.168.0.101 ".
Осталось понять, как мне подключиться из Сибири к клиенту в московии -- и тут, и там сиживаем за NAT (конечно, можно узнать IP через которые "вылазят" в мир оба компа…). Разумеется, "это отключить аутентификацию на уровне сети" - не пойдет. Как-то настраивать надо, на той стороне юзер-чайник…
Попробую конечно.
А вот TeamWiever -- злодей, "подсадил" народ, а потом стал трясти денюжек, хотя я пользовался им 2-3-4 раза в год. Понятно, когда юзают чуть ли не каждый день, что означает: "Платные услуги", но редких то зачем "рубить".


Alexey :

Приветствую! Если оба пользователи за NAT, то с RDP без участия стороннего сервера с белым IP вряд ли что-то получится. Вот здесь я пишу как подключиться если клиента отделяет только NAT роутера, а Интернет-провайдер не использует NAT (то есть когда клиент хоть и получает временный IP адрес, но является единственным его пользователем), но это дело случая, всё зависит от сетей провайдера.

TeamViewer, кстати, также использует сторонний (центральный) сервер.

В качестве бесплатной альтернативы для TeamViewer предлагают Ammyy Admin, пишут, что он также использует центральный сервер и идентификаторы пользователя, поэтому NAT ему нипочём. Но я не пользуюсь ни одной из этих программ, поэтому что-то более подробное сказать не могу.

1. Использовать ngrok для получения белого IP

Про ngrok смотрите в этой статье.

Суть в следующем, клиент должен запустить ngrok и указать прослушивать порт 3389 — в результате он получит домен третьего уровня с внешним IP. Затем вам нужно подключиться по RDP указав вместо IP тот самый домен, который получил пользователь.

1. Нужно уговорить пользователя запустить исполнимый файл ngrok

2. RDP использует не только TCP, но ещё и UDP порт, возможно, ничего не заработает

2. ngrok + VNC

У RDP есть открытая альтернатива VNC.

1. Клиент запускает ngrok, который в данном случае прослушивает порт VNC — 5900.

2. Клиент запускает VNC сервер

3. Вы с помощью VNC клиента подключаетесь к VNC серверу, указав вместо IP тот самый домен третьего уровня, который получил пользователь.

Вам опять нужно уговорить пользователя запустить ngrok и VNC сервер.

3. ngrok + VNC + Обратное подключение

Если коротко, то алгоритм следующий:

1. Вы запускаете ngrok, который в данном случае прослушивает порт VNC — 5900.

2. Запускаете VNC клиент с ожиданием обратного подключения.

3. Просите клиента запустить VNC сервер и объясняете ему как подключиться к Обратному подключению

Пользователю не придётся разбираться с ngrok, но придётся разбираться с обратным подключением.

4. VPN — решение всех проблем в корпоративной среде

1. xrdp - x11 - слабоват и есть заморочки не совсем интуитивно-понятные - подключение к сессиям на сессию, приходится ломать голову - поэтому сразу перейдем к X2go

2. X2go - проброс через ssh - X2go

Для справки - X2Go это программное обеспечение с открытым исходным кодом, для удаленного администрирования машин Linux которые используют протокол NX technology. X2Go дает удаленный доступ к графическому интерфейсу Linux. Защищенность соединения предоставляется благодаря использованию ssh. Серверный пакет должен быть установлен на машине с Linux. Клиентские приложения для доступа к серверному хосту могут быть запущены на Linux, FreeBSD, OS X, или Windows. То есть, x2go это форк FreeNX

Ubuntu

Quick

You might have to install add-apt-repository first.

To install add-apt-repository on Ubuntu 10.04 or 12.04:

To install add-apt-repository on Ubuntu 14.04:

Once add-apt-repository is installed, run these commands:

apt-get install x2goserver x2goserver-xsession - установка самих пакетов.

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

Для linux проверено работает c XFCE (ubuntu)

Итак, определились с использованием. Ставить сам сервер очень просто.
Нужно доставить зависимости:

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

sudo add-apt-repository ppa:x2go/stable
sudo apt-get update
sudo apt-get install x2goserver x2goserver-xsession

Для использования горячих клавиш, нужно доставить следующий пакет.
Если у вас Mate, нужно поставить следующий пакет:

Если у вас Lxde:

Всё. После того, как установили эти пакеты, сервер установлен и ничего не надо настраивать.

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

Установка клиента в Windows 8.1 и Ubuntu.

Установка клиента x2go в Ubuntu.

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

В установленных приложениях можно найти x2go клиент и можно подключаться. (Об этом ниже описано подробнее в демонстрации работы).

Установка клиента x2go в Windows 8.1.

Также ничего сложного, есть установочный пакет на офф. сайте.

В секции для Windows скачиваем exe файл:



Устанавливаем программу. Потребуются права администратора. Всё. Можно подключаться.

Кроме того, клиент доступен еще для многих других дистрибутивов Linux и других ОС

Использование как терминального сервера.

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

На компьютере с x2go сервер должна быть установлена легкое окружение рабочего стола, типа XFCE или LXDE, ну или MATE.
Нужно создать пользователей для каждого, кто будет одновременно работать с терминальным сервером.
Узнаем ip сервера и открываем клиент.

Открываем клиент и создаем новое подключение.
Пример создания подключения и соединение с сервером в Windows:


Откроется окно создания "Новой сессии":


  • Имя сессии - какое хотите.
  • Хост - ip сервера, к которому подключаться.
  • Пользователь - имя пользователя.
  • Тип сессии - здесь выбираем оболочку рабочего стола. В примере XFCE.

В принципе всё. Можно подключаться. Но на остальных вкладках можно настроить еще много всего.
К примеру разрешение экрана:


А также можно настроить, нужен ли нам звук:


Это всего можно отредактировать и позднее. Жмём "Ок" и соединение появится в списке:


Теперь щелкаем по нужному соединению из списка (сейчас оно одно) и появится окно с вводом пароля:


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


Вот таким образом это работает.

Использование для запуска программы на удаленном компьютере.

Этот случай, когда есть ресурсоёмкое приложение, к примеру, какое то IDE и нужно подключаться к нему, чтобы не забивать ресурсы своего маломощного компьютера. Это как пример, возможно какие-то другие есть причины. Но это очень удобно. Делается это следующим образом.

И важное замечание, что здесь окружение рабочего стола вообще не играет роли. Поэтому можно подключаться к компьютеру с Unity или KDE, вообще роли DE не играет.

Всё то же самое, как в предыдущем варианте, создаём новую сессию и вводим

  • Имя сессии - какое хотите.
  • Хост - ip сервера, к которому подключаться.
  • Пользователь - имя пользователя.

Только теперь в пункте Тип сессии нужно выбрать "Приложение" и ввести путь до приложения или команду запуска приложения:


В примере это Firefox, который в итоге и запускается:


Вот таким образом можно запускать приложения с удаленного компьютера без запуска X-сессии.

Использование для удаленного доступа компьютером (как в TiemViewer).

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

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

Либо еще можно установить x2go сервер на компьютерах в офисе, оперативы они едят мало и админ будет подключаться с помощью клиента к рабочим компам, тоже как вариант.

Всё делается тоже самое, создается новое подключение вписываются данные, только в тип соединения выбираем:


Выбираем:
Тип сессии - Соединение с локальным десктопом.

Всё. Подключаемся, будет спрошено:


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

Назначение и возможности LTSP

Выбор способа загрузки по сети

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

Все, возможно, не понадобится, установим пока только необходимое:

создаваемая структура каталогов

В этом случае будет установлен и DHCP сервер, если в сети уже имеется такой сервис, используй ltsp-server вместо ltsp-server-standalone. Причем, учитывая “мягкую” систему зависимостей в пакетах обрати внимание на поля “Предлагаемые пакеты” и “Рекомендуемые пакеты” в выводе apt-get. Кроме того, в Kubuntu предлагается пакет student-control-panel. С помощью этого аплета можно контролировать подключения клиентов к серверу.
создаваемая структура каталогов

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

Для ленивых можно посоветовать еще и пакет ltsp-utils содержащий две стандартные утилиты. Первая, ltspadmin предназначена для установки и обновления системы LTSP, вторая ltspcfg позволяет произвести первичные настройки.

утилита ltspadmin

Далее создаем рабочее окружение клиентов. В классическом варианте необходимо использовать утилиту ltspadmin, в Ubuntu для этих целей применяется утилита ltsp-build-client, которая использует репозитарий Ubuntu, работая в chroot окружении. Утилита имеет множество параметров, но в самом простом случае достаточно ввести:

утилита ltspcfg

После чего утилита создаст нужные каталоги, соединится с репозитарием, откуда будут получены все необходимые пакеты, некоторые системные настройки также перекочуют в созданное chroot окружение. По окончании установки скачанных пакетов, будут запущены еще два скрипта ltsp-update-kernels и ltsp-update-sshkeys (при необходимости в дальнейшем это можно сделать и вручную).
утилита ltspcfg

Первый скопирует системное ядро и обеспечит в дальнейшем его загрузку клиентами, создав необходимые файлы, второй создаст SSH ключи необходимые для обеспечения защищенной работы и аутендификации клиентов на сервере. Копии ключей будут помещены в файл /opt/ltsp/i386/etc/ssh/ssh_known_hosts, в таком виде:

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

Такой тип аутендификации используется в Ubuntu, в классическом случае пользователи вводят пароль на сервере XDMCP (Display Manager Control Protocol). Также отличием в работе является то, что при регистрации в Ubuntu используется специально разработанный для этих целей Python скрипт LDM, который адаптирован для работы через ssh. В классическом варианте пользователя встретит KDM, GDM или XDM. И наконец последним пунктом работы скрипта ltsp-build-client будет создание файла /etc/exports, в таком виде:

Слева указан каталог, который экспортирует сервер. Флаги ro или rw указывают на доступ только для чтения и для записи и чтения соответственно. А no_root_squash заменяет пользователя root более безобидным nobody. Параметры ro и no_root_squash, используются в файле по умолчанию и поэтому их можно смело опустить, хотя так нагляднее. После чего последует перезапуск сервера NFS командой “invoke-rc.d nfs-kernel-server reload”. Установку можно считать законченной теперь займемся доводкой и пройдемся по конфигурационным файлам, чтобы если что-то пойдет не так, быстро найти причину.

Настройка сервисов NFS и DHCP

А в файл /opt/ltsp/i386/etc/fstab:

Теперь переходим к настройке службы DHCP и DNS. Как уже говорилось при установке пакета ltsp-server-standalone, будет установлен и сервер DHCP, который будет в работе использовать конфигурационный файл /etc/ltsp/dhcpd.conf (если он есть иначе — /etc/dhcp3/dhcpd.conf):

Далее идут индивидуальные настройки для каждого компьютера клиента. Здесь можно переопределить настройки сервера индивидуально. В строке hardware Ethernet 00-02-44-07-FC-C4 указывается аппаратный МАС-адрес сетевой карты, а в строке fixed-address 192.168.0.110 за ним статически закрепляется IP-адрес. Теперь при запросе клиента с указанным МАС-адресом, ему всегда будет выдаваться этот IP-адрес. Остальным же он будет назначаться на общих правилах, из таблицы свободных адресов. Строка option root-path указывает на раздел, который будет смонтирован в качестве корневого с помощью службы NFS. Если в сети используется как обычные системы, так и без дисковые клиенты, то его можно следует использовать только для без дисковых станций переместив их в индивидуальные секции.

Настройка TFTP

Во время установки в список зависимостей попадут и пакеты tftpd-hpa и netkit-inetd, а в файл демона inetd /etc/inetd.conf, будет занесена строка для запуска tftp:

Если уже используется xinetd, то следует удалить netkit-inetd, и создать файл /etc/xinet.d/tftp:

И не забудь убрать в /etc/xinetd.conf строку only_from = localhost. На этом настройки этих серверов можно считать законченными. Желательно проверить их работу перед применением, запускаем “sudo /etc/init.d/xinetd start” и даем следующие команды:

Имя файла указано так потому, что корневой каталог для этого сервиса определен в файле /etc/xinet.d/tftp как server_args = -s /var/lib/tftpboot, т.е. этот каталог делается корневым (chroot), и поэтому если указать полный путь, то сервер просто не найдет необходимый файл.
Осталось убедиться, что portmap не ограничен loopback интерфейсом, строка -i 127.0.0.1 в /etc/default/portmap закомментирована. И в целях безопасности в /etc/hosts.allow ограничиваем доступ к portmap, rpc.mountd, rpc.statd и in.tftpd только с нашей сети:

Перезапускаем все используемые сервера:

Настройки параметров работы клиентов производятся в файле /opt/ltsp/i386/etc/lts.conf. Этот файл состоит из общих установок и разделов определяющих индивидуальные настройки для каждого клиента. В них при необходимости можно переопределить те или иные глобальные установки. Благодаря такой схеме появляется возможность более гибкой адаптации к аппаратной конфигурации терминалов. Этот файл можно редактировать как вручную, так и используя скрипт /usr/lib/ltsp/ltsp_config.
Вот и все. Самое интересное, что это действительно работает. На клиентском компьютере спокойно загружается KDE с OpenOffice и работает с вполне терпимой скоростью, после перехода на оконный менеджер полегче вроде IceWM система вообще летает. Наиболее очевидное применение данной технологии это наши учебные заведения со старыми компьютерными классами, где добавление одного мощного компьютера позволит работать с современным ПО.

Готовые рецепты

Хотя самым простым вариантом познакомиться или установить сервер LTSP, это взять один из дистрибутивов, в которых эта технология включена по умолчанию. В первую очередь это версия Ubuntu ориентированная для использования в учебных заведениях Edubuntu (www.edubuntu.org). Кстати именно на нем отрабатывается следующая версия пакета LTSP5, основное отличие которой отказ от специализированных пакетов и максимальное использование оригинальных пакетов идущих в репозитариях дистрибутивов. Другой известных проект K12Ltsp (www.k12ltsp.org) аналогичного назначения базируется на Fedora Core 4, также включает в себя последнюю версию LTSP. Кстати один из его разработчиков Эрик Харрисон (Eric Harrison) является одним из активных участников проекта LTSP. Тем, кому ближе Debian можно посоветовать SkoleLinux (в девичестве Debian Edu) — www.skolelinux.org. К сожалению, канадский проект EduLinux (www.edulinux.cl) выпускавший готовое решение на основе Mandrake Linux 9.1 уже более двух лет не ведет активной разработки своего дистрибутива. Есть русская версия сайта проекта LTSP — www.ltsp.ru, где найдете некоторую документацию.

В этой инструкции описано как настроить сервер xRDP для подключения к Ubuntu 18.04 с легковесным окружением Xfce по протоколу RDP. Это может быть очень удобно если вам нужно из Windows зайти на линукс систему используя графический интерфейс.

Что такое xRDP?

xRDP — это бесплатная реализация RDP (протокола удаленного рабочего стола) Microsoft с открытым исходным кодом, которая позволяет операционным системам, отличным от Microsoft Windows (таким как Linux и BSD), предоставлять полностью функциональный RDP-совместимый удаленный рабочий стол.



  • Бесплатное тестирование
  • Автоустановка Ubuntu, Debian, CentOS
  • Изменение конфигурации в любое время

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

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

sudo apt-get update

sudo apt-get upgrade -y

Установите и включите утилиту xRDP:

sudo apt-get install xrdp
sudo systemctl enable xrdp
sudo systemctl restart xrdp


Установите окружение xfce:

sudo apt-get install xfce4 xfce4-terminal

Откройте порт RDP для возможности удаленного подключения:

sudo ufw allow 3389/tcp

Перезагрузите xRDP сервер, чтобы изменения вступили в силу:

sudo /etc/init.d/xrdp restart

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

Если вы не знаете IP адрес Ubuntu сервера, его можно посмотреть введя команду:


В нашем случае это будет 10.0.0.2. Для подключения откройте приложение Windows Подключение к удаленному рабочему столу(mstsc.exe). Введите IP-адрес сервера и нажмите Подключить:


При подключении появится предупреждение безопасности. Нажмите Да:


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


В результате произойдет подключение к рабочему столу.

Рабочий стол окружения Xfce:


Если при подключении к xrdp показывает черный экран необходимо зайти в папку /etc/xrdp, и внести изменения в файл startwm.sh.

sudo nano /etc/xrdp/startwm.sh

unset DBUS_SESSION_BUS_ADDRESS
unset XDG_RUNTIME_DIR

test –x /etc/X11/Xsession && exec /etc/X11/Xsession


После внесения изменений необходимо перезапустить службу XRDP:

sudo systemctl restart xrdp

Теперь можно снова запустить mstsc.exe и подключиться к нашему ubuntu серверу.

Читайте также: