Как установить rdp на linux

Обновлено: 06.07.2024

Существует две наиболее популярные технологии работы удаленных рабочих столов: Virtual Network Computer (VNC) и Remote Desktop Protocol (RDP). VNC в своей работе использует протокол Remote FrameBuffer (RFB). Этот протокол используется на различных платформах, и, как следствие, существуют как серверные, так и клиентские приложения с открытым исходным кодом для Linux, Windows и Mac OS X. RDP же был разработан корпорацией Microsoft и он - единственный протокол такого рода, используемый по умолчанию в Windows.

На первый взгляд, открытый исходный код, платформонезависимость и функциональные преимущества делают VNC лучшим вариантом. Однако если в вашей организации в первую очередь используется продукция Microsoft, RDP может стать решением еще лучше, нежели VNC, даже на компьютерах с Linux. Установить сервер и клиент RDP на небольшом количестве компьютеров с Linux намного проще, чем ставить серверные и клиентские приложения VNC на каждый компьютер, на котором установлена Windows, тем более если таких компьютеров достаточное количество.

В данном руководстве мы рассмотрим, как добиться поддержки RDP в Linux. Мы установим RDP сервер, и, таким образом, пользователи Windows смогут использовать стандартное Подключение к удаленному рабочему столу, чтобы подключиться к Linux-машинам. А затем мы установим RDP клиент, и пользователи Linux смогут подключаться к удаленным компьютерам как с Windows, так и с Linux.

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

Мы будем использовать сервер с открытым исходным кодом - xrdp . Он отображает новый экземпляр всего графического интерфейса, используя Xvnc или X11rdp. Помните, что удаленный пользователь не будет видеть никаких приложений или окон, открытых на текущем рабочем столе, для него это будет чистый рабочий стол. Если вы хотите, чтоб пользователь получал доступ к текущей сессии, то вам нужно установить x0vncserver.

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

После того, как xrdp будет установлен, он автоматически будет готов принимать входящие соединения. Однако если у вас установлен firewall, то необходимо сначала убедиться, что подключение на TCP-порт 3389 разрешено. Также, чтобы соединяться с этим компьютером, находясь вне рабочей сети, необходимо настроить перенаправление портов на роутере.

Если вы хотите разрешить удаленное соединение через Интернет к нескольким компьютерам из одной сети, для этого необходимо изменить порт xrdp-сервера на всех (или на всех, кроме одного) компьютерах. Также надо редактировать настройки портов и на компьютерах с Windows, принимающих RDP-соединения, если, конечно, такие компьютеры имеются. Удаленные пользователи должны указывать номер порта нужного компьютера в настройках соединения, и тогда роутер сможет понять, на какой компьютер перенаправлять соединение. И не забудьте открыть необходимые порты в firewall, если он установлен. Когда присваиваете номера портов, можете, например, начать со стандартного - 3389 и дальше пойти по порядку: 3390, 3391 и т.д.

Чтобы изменить стандартный порт xrdp, откройте файл /etc/xrdp/xrdp.ini (могут понадобиться права суперпользователя), отредактируйте параметр port в секции [globals] и перезапустите xrdp следующей командой (также потребуются права суперпользователя):

Microsoft предоставляет инструкции по редактированию параметров реестра для изменения стандартного порта, используемого в Windows.

Другой способ обеспечить RDP-подключение к разным компьютерам - установить xrdp сервер на одном компьютере с Linux (порт стандартный), затем установить обычные сервера VNC на все остальные компьютеры в локальной сети, все со стандартным портом VNC. Таким образом, когда удаленные пользователи будут подключаться по RDP, они получат окно xrdp, где смогут указать локальный IP-адрес необходимого компьютера для подключения к нему через VNC. В этом случае только один порт должен быть открыт для доступа из сети Интернет и правильно сконфигурирован в настройках роутера.

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

Теперь пользователи должны иметь возможность подключиться к необходимому компьютеру. В Windows можно использовать стандартную программу Microsoft - "Подключение к удаленному рабочему столу", а в Linux - rdesktop и tsclient, которые мы чуть позже установим.

Номер порта может быть указан следующим образом: после IP-адреса или доменного имени ставится двоеточие, а после него пишется номер, например: 192.168.0.100:3390. Если же вы не настраивали порты самостоятельно или соединяетесь по стандартному порту (3389), просто введите IP или домен, опустив при этом двоеточие и номер порта.

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

Установка клиентской программы rdesktop и фронт-энда к нему - tsclient

Если вы хотите, чтобы пользователи Linux тоже могли соединяться с компьютером, на котором установлен RDP-сервер, необходимо установить клиент RDP, такой как rdesktop. После этого можно также установить и GUI к нему, например, tsclient. Найдите и установите пакеты этих приложений для вашего дистрибутива. После установки можно запустить Клиент терминального сервера (tsclient) и с его помощью соединиться с нужным компьютером. Для этого достаточно просто ввести IP-адрес или доменное имя и, если требуется, номер порта после двоеточия, как и в клиенте Microsoft.

Дополнительная справочная информация

Если вам требуется дополнительная справочная информация, посетите сайты xrdp , rdesktop и tsclient . Также вы можете получить больше информации из руководства посредством команд в терминале Linux:

Эрик Гейер - основатель компании NoWiresSecurity , предоставляющей стороннюю поддержку RADIUS/802.1X для фирм, желающих защитить свои свои Wi-Fi сети при помощи корпоративного режима WPA/WPA2 шифрования. Также он является техническим писателем-фрилансером и автор множества работ по сетям и обработке данных для таких серий книг как For Dummies ("Для чайников") и Cisco Press.

RDP клиенты удаленного доступа для Linux

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

Проприетарный RDP — не единственный протокол удаленного доступа. Есть, например, открытый протокол VNC или защищенный протокол SSH. Все протоколы поддерживаются большинством операционных систем, включая различные дистрибутивы Linux, а иногда и мобильные ОС.

Для чего нужны RDP клиенты?

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

Популярные Linux RDP клиенты

Remmina


Источник

Remmina идет под лицензией GNU GPL и имеет открытый исходный код.

Установка Remmina

Remmina устанавливается через терминал:

В дистрибутивах Ubuntu, как правило, уже имеется клиент Remmina, однако, версия обычно устаревшая поэтому рекомендуется ее обновить.


Обновление Remmina

В терминале нужно ввести команду:


Затем запросите обновление списка системных хранилищ:


Следующий шаг — установка или обновление плагина протокола RDP:


Чтобы завершить установку Remmina Linux RDP client, закройте активные сеансы приложения из терминала: sudo killall remmina. Затем откройте обновленный клиент заново и перейдите к конфигурации соединения.

Настройка Remmina


Если нужны настройки Remmina Remote Desktop Client, откройте меню Preferences (параметры) нажатием на иконку в правой верхней части окна.

Подключение по RDP к удаленной машине

Давайте рассмотрим как работает подключение по RDP к удаленной машине на примере Remmina.



Поддерживаются соединения с Linux, Windows или macOS. Главное, что вам нужно знать — это IP-адрес машины, с которой устанавливается подключение, имя пользователя и пароль.

После конфигурации нового подключения, можно просто нажать Connect для подключения, а можно сохранить подключение и установить его в качестве подключения по умолчанию. Сохранив текущую конфигурацию, вы сможете соединиться с удаленным компьютером буквально в два клика.


Также есть возможность управлять соединениями, копируя, редактируя и удаляя их прямо из основного окна.


Помимо RDP, клиент Remmina также обладает поддержкой других протоколов удаленного соединения, включая безопасный SSH и открытый VNC.

Apache Guacamole


Источник

Еще один интересный RDP клиент для Linux — Apache Guacamole. Этот RDP клиент с открытым исходным кодом, распространяется по лицензии Apache v. 2.0. У Apache Guacamole есть интересная особенность — разработчики называют его «шлюз для удаленного рабочего стола без клиента» (clientless remote desktop gateway). Все благодаря тому, что Apache Guacamole работает напрямую из браузера, необходимости устанавливать дополнительное ПО или плагины нет.

Установка Apache Guacamole

Apache Guacamole может быть предустановлен в некоторых Linux Debian и Debian-based дистрибутивах. Ручная установка Apache Guacamole из терминала производится командой:


Поскольку Apache Guacamole — серверный клиент, требуется установить Tomcat Server на вашу машину, после чего программа установки попросит его перезапустить.

По умолчанию Apache Guacamole устанавливается с поддержкой только протокола VNC. Чтобы иметь возможность подключаться по SSH или RDP, необходимо установить дополнительно клиент для желаемого протокола. Сделать это можно следующей командой:

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

Настройка Apache Guacamole

После установки Apache Guacamole автоматически применяет минимально необходимые для запуска настройки. Основным файлом конфигурации Apache Guacamole является guacamole.properties.

Все подробности об установке, настройке и управлении Apache Guacamole детально описаны в руководстве на официальном сайте.

Клиент Apache Guacamole максимально прост в использовании. Для запуска шлюза доступа к удаленному рабочему столу без клиента требуется иметь только браузер с поддержкой HTML5. Сама работа показана в коротком видео.

FreeRDP


Источник

Еще один бесплатный RDP клиент для Linux — FreeRDP. FreeRDP имеет лицензию Apache и открытый исходный код. Его можно встретить включенным в некоторые дистрибутивы Linux.

Установка FreeRDP

Актуальную на момент написания статьи версию FreeRDP можно установить командой из терминала:

Настройка FreeRDP

FreeRDP — терминальный клиент, поэтому все настройки для подключения вводятся одной командой:

  • -u username — имя удаленного компьютера, к которому хотите подключиться;
  • -p password — пароль учетной записи;
  • -g 1280×1024 — разрешение экрана;
  • XXX.XXX.XXX.XXX — IP удаленного компьютера.

Полный синтаксис можно найти в интернете.

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

/rdp.sh. В появившемся окне введите следующие строки и сохраните файл:

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

TigerVNC


Источник

TigerVNC — это полностью бесплатный клиент, он имеет открытый исходный код. Он отличается от предыдущих клиентов удаленного доступа тем, что он работает только по протоколу VNC.

Установка TigerVNC

Для работы TigerVNC требуется окружение рабочего стола. Мы выбрали окружение Gnome, установили его следующими командами:

Затем, чтобы установить компоненты TigerVNC, введите в окне терминала:

Если установка прошла успешно, запустите VNC-сервер: vncserver. Создастся дефолтная конфигурация, а от вас потребуется задать пароль для TigerVNC длиной от 6 до 8 символов.


Настройка TigerVNC

Следующим шагом вы должны будете настроить рабочее окружение для работы с TigerVNC. Чтобы избежать конфликтов, следует приостановить активный VNC-сервер командой в терминале: vncserver -kill :1.

Затем введите команду vi

/.vnc/xstartup, чтобы добавить файл xstartup в каталог конфигурации рабочего стола, откроется редактор.

В редакторе пропишите пять строк:

Эти строки будут выполняться при каждом запуске TigerVNC сервера. Сохраните файл, задайте ему разрешения:

Возобновите работу сервера, введя в терминале:

  • :1 — номер дисплея;
  • -localhost — разрешить соединения только с локального хоста;
  • -geometry — разрешение экрана;
  • -depth — глубина цвета.

TigerVNC — быстрый клиент удаленного доступа к компьютеру, однако, его функционал ограничивается VNC протоколом, и его установка чуть более требовательна, чем у аналогов.

rdesktop


Источник

Следующий клиент — rdesktop — поддерживается на платформах Linux, Microsoft Windows, имеет открытый исходный код. Выгодно отличает rdesktop от других клиентов поддержка протокола RDP 4.0, используемого в версиях Windows NT 4.0 Terminal Server Edition и Windows 2000 Server.

Установка rdesktop

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

Настройка rdesktop

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

Команда использует следующий синтаксис:

  • -z — использовать сжатие потока;
  • -P — использовать кэширование;
  • -g/-f — оконный/полноэкранный режим;
  • -u — имя пользователя удаленной машины;
  • -p — пароль.для входа в учетную запись удаленного компьютера.

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

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

Vinagre


Источник

Vinagre входит в стандартное окружение Gnome и по сути является официальным RDP клиентом Gnome. Это значит, что клиент Vinagre уже должен быть включен в ваш дистрибутив Linux с окружением Gnome, и его установка не потребуется.

Установка Vinagre

Если по какой-то причине клиент Vinagre отсутствует у вас в системе, вы можете его инсталлировать, введя в консоли:


Преимущества Vinagre это:

  • Возможность подключить несколько удаленных рабочих столов одновременно. Каждый из них будет отображаться на отдельных вкладках.
  • Поиск потенциальных подключений в локальной сети. Vinagre позволяет отслеживать доступные подключения.
  • Поддержка VNC и SSH.
  • Добавление подключений в избранное, наличие истории.
  • Поддержка Gnome Keyring.

Если вы работаете с Gnome, то вам стоит обратить внимание на Vinagre, ознакомиться с этим клиентом поближе.

NoMachine NX Client


Источник

Утилита NX Client, разрабатывается компанией NoMachine. Программа работает по проприетарному протоколу NX, который разработан компанией NoMachine. NoMachine NX Client доступен для Windows, Linux, macOS, Android, iOS, Raspberry Pi, а также из браузера.

Установка NoMachine NX Client

Вам потребуется скачать установщик в любом формате (RPM, DEB, TAR.GZ) открыть и установить его на обе машины — локальную и удаленную. То же можно сделать и командой из терминала, но иметь копию пакета установки все равно потребуется.


NoMachine NX Client обладает впечатляющим набором функций, который расширяется с каждым обновлением.


Но, во-первых, для корпоративных клиентов NoMachine продает свои продукты по подписке (44,50 долларов в год за сервер или пакет 10 пользователей, подробнее). Это совсем не выгодно отличает NX Client от рассмотренных ранее полностью бесплатных клиентов. Во-вторых, большое число функций и вкладок с различными настройками и параметрами может помешать сосредоточиться на работе. Кроме того, NoMachine NX Client не поддерживает открытие нескольких сеансов во вкладках — каждый новый сеанс нужно открыть в новом окно программы. Зато вся документация и справка на официальном сайте NoMachine переведена на русский.

NoMachine NX Client — хороший выбор, если ваши основные требования это:

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


    Источник

    Krdc — бесплатный RDP клиент с открытым исходным кодом, идущий под лицензией GPL v.3. Krdc может работать по VNC и по RDP, клиент является официальным проектом окружения KDE для удаленного доступа.

    Установка Krdc

    Установить Krdc на дистрибутив Linux можно, введя в терминале:


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


    Если у вас есть потребность в простом клиенте удаленного доступа, то Krdc отлично подойдет. Дополнительным плюсом будет возможность выбора протокола подключения: RDP или VNC, по умолчанию поддержка SSH в Krdc отсутствует.

    TeamViewer


    Источник

    TeamViewer — широко известный клиент для удаленного доступа, он является бесплатным только для частного использования. Стоимость корпоративного решения от 2 до 7 тысяч рублей в месяц за одно рабочее место, подробности можно узнать на сайте TeamViewer.

    Одно из преимуществ TeamViewer — кроссплатформенность. После установки приложение позволяет подключаться к удаленному рабочему столу с Linux, Windows, macOS, Android, iOS, Blackberry и даже ChromeOS.

    Установка TeamViewer

    Для установки TeamViewer разработчики рекомендуют скачать пакет установки с официального сайта, после чего установить его через графический интерфейс на обе машины — локальную и удаленную. Установить TeamViewer через терминал можно соответствующими командами для соответствующего пакета, например DEB:


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

    Заключение

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

    В этой инструкции мы рассмотрим два RDP сервера для Linux: freerdp-shadow (входит в пакет freerdp) и xrdp.

    Как использовать 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 — высота прямоугольника

    Если при запуске 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 так, будто бы мы сидим за ним:

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

    Оглавление: Всё о 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:

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

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

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

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

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

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

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

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

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

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


    Набираем yes.

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

    Другой вариант, который позволяет подключиться к Windows по RDP с помощью rdesktop без настройки Network Level Authentication (NLA) — это отключить аутентификацию на уровне сети в Windows. Понятно, что это ослабит безопасность RDP, поэтому не рекомендуется. Но как «быстрый грязный фикс» это можно сделать следующим образом: Меню «Пуск» → Параметры → Система → Удалённый рабочий стол → Дополнительные параметры → Снять галочку с «Требовать использование компьютерами аутентификации на уровне сети для подключения (рекомендуется)»:


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


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


    В настройках Windows вы могли увидеть ссылку «Почему следует разрешать подключения только с проверкой подлинности на уровне сети?», там написано следующее:

    Если вы хотите ограничить доступ к компьютеру, разрешите доступ только с проверкой подлинности на уровне сети (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 — высота прямоугольника

    Если при запуске 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 — если вы знаете, как это сделать, то пишите в комментариях.

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