лучший rdp сервер для linux

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. С ней мы разберемся в следующей публикации.

Источник

Использование RDP-клиентов в Linux

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

Используем RDP-клиенты в Linux

Сейчас существует не так много RDP-клиентов, поскольку имеются сложности в реализации технологии, которые связаны и с ее проприетарностью. Однако обычному юзеру на выбор предлагается не менее трех различных вариантов. Далее мы хотим рассказать лишь о самых популярных и надежных из них, а вы, отталкиваясь от инструкций, уже сможете инсталлировать подходящий клиент и производить подключение к серверу.

Вариант 1: Remmina

Remmina — самый популярный клиент удаленного рабочего стола, который по умолчанию предустановлен во многих дистрибутивах Linux. Однако зачастую его версия является устаревшей. Эта программа имеет простой и понятный GUI с огромным количеством вспомогательных инструментов. Освоить ее сможет даже начинающий пользователь, поэтому мы и поместили этот софт на первое место. Давайте пошагово разберем процедуру установки, настройки и подключения в Remmina.

Шаг 1: Установка

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

Далее может потребоваться дополнительное подтверждение расширения занятого дискового пространства. После успешного завершения инсталляции можно переходить к использованию клиента. Если же вы желаете обновить версию, придется задействовать пользовательские хранилища, поскольку на официальные новые сборки не поступают. Реализация будет немного сложнее, а выглядит так:

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

Шаг 2: Запуск и настройка

С запуском и конфигурацией Remmina разберется даже самый начинающий пользователь, а с последним поможет официальная документация. Однако мы все же хотим остановиться на основных моментах, чтобы при реализации этой задачи не возникло каких-либо трудностей.

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

Шаг 3: Создание профиля и подключение

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

Теперь остается только приступить к взаимодействию с удаленным рабочим столом, выполняя там необходимые действия. Если у вас возникли какие-то вопросы по управлению Remmina, обратите особое внимание на документацию: там в максимально развернутом виде описаны ответы абсолютно на все вопросы пользователей.

Вариант 2: rdesktop

Следующий инструмент под названием rdesktop не является таким популярным среди начинающих пользователей, поскольку все настройки производятся через консоль путем ввода соответствующих команд. Однако это решение стало востребованным среди профессионалов и любителей консольных утилит.

Шаг 1: Установка rdesktop

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

Если используемый дистрибутив основан не на Debian, аргумент apt-get в команде инсталляции придется заменить на yum или pacman. В остальном же никаких различий со сборками Linux не имеется.

Шаг 2: Запуск и подключение

Здесь следует детально рассмотреть абсолютно каждый аргумент и вписываемую информацию.

Шаг 3: Обмен файлами между Windows и Linux в текущей сессии

Шаг 4: Создание значка быстрого доступа

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

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

Вариант 3: freerdp

freerdp — самый новый из всех известных RDP-клиентов, который только начинает набирать обороты. Управление им тоже осуществляется в консоли, а функций сейчас мало, поэтому мы и поставили этот вариант на последнее место.

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

Выше вы получили общую сводку о трех различных RDP-клиентах для Linux. Как видите, все они имеют свои особенности и подойдут разным пользователям. Каждый из них может соединяться с Windows, поэтому вся сложность выбора заключается лишь в различиях управления и реализации графического интерфейса окна показа удаленного рабочего стола.

Помимо этой статьи, на сайте еще 12415 инструкций.
Добавьте сайт Lumpics.ru в закладки (CTRL+D) и мы точно еще пригодимся вам.

Отблагодарите автора, поделитесь статьей в социальных сетях.

Источник

LTSP: Терминальный сервер на Linux

Сейчас я расскажу вам о том, как можно сэкономить немалое количество времени и денег на вашей IT-инфраструктуре.
Как централизованно админить большое количество linux рабочих станций не разводя при этом хаос в вашей экосистеме.
И так, что же такое LTSP?

LTSP — Это терминальное решение на Linux.
Говоря «терминальное», я в первую очередь имею в виду не подключение к удаленному рабочему столу как в Windows. Я подразумеваю гораздо более гибкую и продвинутую систему доставки ПО, конфигов, домашенего каталога, да и самой операционной системы на клиентские рабочие станции с вашего терминального сервера.

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

У LTSP есть несколько режимов работы:

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

Принцип работы

Допустим, у вас есть сервер и множество компьютеров (терминальных станций), которые вы раздаете пользователям, чтобы те за ними работали. Терминальные станции эти почти ничем не отличаются от обычных компьютеров, за исключением того, что их размеры обычно достаточно малы, для работы им не нужен жесткий диск и, кроме того, они могут быть довольно слабыми и дешевыми, на работе пользователей это не отражается (в режиме тонкого клиента). Стоит отметить, что в роли терминальной станции может выступать любой компьютер, который умеет загружаться по сети.

Как я уже сказал, на терминальных станциях вполне может и не быть жесткого диска, а соответственно никакой операционной системы на них не установленно, вся загрузка происходит c LTSP-сервера прямо по сети.
На терминальном сервере у вас установлена система, в ней же и хранятся все данные пользователей, конфиги, и ПО.
Когда пользователь включает свой компьютер, у него загружается операционная система с терминально сервера, он может в нее войти, поработать, отключиться. При этом все данные всегда остаются на терминальном сервере.

Теперь о режимах работы:

Итак, какой же режим нам выбрать? — все зависит от того, что вы хотите получить. Вы можете немного сэкономить используя на клиентах слабые станции вкупе с мощным сервером в режиме тонких клиентов. Или разгрузить терминальный сервер и локальную сеть, купив терминальные станции помощнее, переложив ответсвенность за выполнение программ на клиентов, заставив их, тем самым, работать в режиме толстого клиента.

Кроме того, режимы можно комбинировать и некоторые приложения можно заставлять работать иначе, чем все остальные. Например запускать «тяжелый» браузер с flash локально на клиентах, а офисные приложения запускать на самом сервере.

Плюсы и минусы

Давайте рассмотрим какие же плюсы мы имеем по сравнению со стандартными принципами построения ит инфраструктуры:

Устройство

Первое, что мы должны знать, это компоненты из которых состоит сервер:

Во вторых разберемся в том как он работает:

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

Как устроена загрузка по сети?

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

LDM — это логон менеджер LXDE, который отвечает за авторизацию пользователей и начальный запуск окружения.

Когда пользователь логинится проиходит следующее:

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

Установка

Я опишу установку LTSP в режиме толстого клиента, как наиболее сложную и интересную.
Настройка в режиме тонкого клиента мало чем будет оличаться, за исключением того, что необходимое ПО вам придется устанавливать не в chroot, а в основную систему, и после этого вам не нужно будет пересобирать nbd-образ.

Маленькая оговорочка, для сервера лучше брать дистрибутивы посвежее, т.к. LTSP находится среди стандартных пакетов и обновляется вместе с дистрибутивом. Для гостевой ос лучше брать проверненную Ubuntu 14.04 LTS, т.к. если брать дистрибутив посвежее, потом начнутся проблемы, то загрузчик не станавливается, из-за переименования пакетов, то еще что.

UPD: Проверенно, с последней Ubuntu 16.04 LTS таких проблем не возникает.

Итак, приступим. Сначала устанавливаем ltsp-server-standalone :

Теперь с помощью ltsp-build-client мы установим клиентскую систему. LTSP поддерживает различные DE, но больше всего мне понравилось как работает LXDE. В отличии от Unity он потребляет совсем мало ресурсов и так-как работает на голых иксах, он почти полностью конфигурируется с помощью переменных среды, это очень удобно, так-как их можно указать в главном конфиге lts.conf.

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

Эта же система и будет использоваться в дальнейшем всеми командами LTSP, в нее будет устанавливаться дополнительное ПО, из нее будут генериться загрузчик с ядром и nbd-образ системы. В принципе, ее, так же можно отдавать по nfs при должной настройке загрузчика.
После установки LTSP автоматически сгенерит из нее nbd-образ. Этот образ и будут загружить наши клиенты.

DHCP-сервер:

Но, так как я предполагаю, что у вас уже есть DHCP-сервер, предлагаю настроить его.

Теперь вам нужно добавить к вашему dhcp-серверу 2 опции:

Как это сделать, смотрите инструкции к вашему DHCP-серверу.
Вот, например инструкция как это сделать на оборудовании Mikrotik.

Установка ПО

Давайте же войдем в нашу гостевую систему:

Теперь установим vim:

Поддержку русского языка:

Последнюю версию Remmina:

Браузер Chromium c плагином PepperFlash (свежий flash от google)

Кстати, PepperFlash можно установить и запустить без Chromium, в Firefox:

Еще в Ubuntu 16.04 есть некая проблема, если не настроить xscreensaver, то через определенное время клиент покажет черный экран, из которого никак не выйти. Исправим это:

Установим xscreenasver, если он еще не установлен:

Если вы намерены блокировать экран с вводом пароля, не забудьте добавить следующую строку в ваш конфиг lts.conf:

Не забываем выйти из chroot и обновить наш nbd-образ:

Создание пользователей

Обычных пользователей терминального сервера можно создать стандартным способом:

Или через GUI если он установлен у вас на сервере

Также при желании можно создать локального администратора в клиентском образе:

Конфиг lts.conf

Вот мы и подобрались к самому главному конфигу
Находится он по адресу /var/lib/tftpboot/ltsp/i386/lts.conf и представляет ссобой нечто иное как описание глобальных переменных.

Конфиг поделен на секции, в секции Default описываются настройки общие для всех клиентов:

Также можно добавить секции для отдельных клиентов, на основе hostname, IP или MAC-адреса:

Вообще полный список опций вы можете найти на этой странице, или в

Итоги

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

К тому же, благодаря свободной лицензии все это достается вам абсолютно бесплатно.

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

UPD: widestream в комментариях отписал, что успешно использует похожую схему для создания рендер-фермы.

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

Источник

Понравилась статья? Поделиться с друзьями:

Не пропустите наши новые статьи:

  • лучший rdp клиент для windows
  • лучший rdp клиент для linux
  • лучший rar архиватор для windows 10
  • лучший ramdisk для windows 10
  • лучший pdf редактор для mac os

  • Операционные системы и программное обеспечение
    0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest
    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии