RDP в Linux: запуск сервера и подключение к Windows —

RDP в Linux: запуск сервера и подключение к Windows — Сертификаты

Windows xp или vista

В XP можно поднять протокол с 5.1 до 7. Хотфикс

В Vista — c 6 до 7. Хотфикс имеет тот же номер, файлы windows6.0-kb969084-x64.msu или Windows6.0-KB969084-x86.msu

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


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

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

xfreerdp /u:Tester /p:1234 /v:192.168.0.101  drives

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

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

xfreerdp /u:Tester /p:1234 /v:192.168.0.101  home-drive


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

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

xfreerdp /u:Tester /p:1234 /v:192.168.0.101 /drive:root,/

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

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

xfreerdp monitor-list

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

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


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

sudo apt install xrdp

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

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

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

freerdp-shadow-x11 /sam-file:SAM /sec:nla


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

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

xfreerdp /u:mial /p:2 /v:192.168.0.73

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

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

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

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

sudo apt install freerdp2-shadow-x11 winpr-utils


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

sudo pacman -S freerdp

Исполнимые файлы в разных дистрибутивах называются чуть по-разному. В 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:

Про сертификаты:  Постановление Правительства РФ от 24 июля 2021 г. № 1265 “Об утверждении Правил обязательного подтверждения соответствия продукции, указанной в абзаце первом пункта 3 статьи 46 Федерального закона "О техническом регулировании"

freerdp-shadow-x11 -auth

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


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

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

ПОЛЬЗОВАТЕЛЬ:::ХЕШ:::

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

winpr-hash -u ПОЛЬЗОВАТЕЛЬ -p ПАРОЛЬ

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

winpr-hash -u mial -p 2


Получен хеш:

8f33e2ebe5960b8738d98a80363786b0

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

mial:::8f33e2ebe5960b8738d98a80363786b0:::

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

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


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

freerdp-shadow-x11 /sam-file:SAM /sec:nla

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

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

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

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


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

freerdp-shadow-x11 /sam-file:SAM /sec:nla /rect:200,300,500,500

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

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

rdesktop -u ПОЛЬЗОВАТЕЛЬ -p ПАРОЛЬ ХОСТ

Например:

rdesktop -u Tester -p 1234 192.168.0.101


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

Autoselecting keyboard map 'ru' from locale

ATTENTION! The server uses and invalid security certificate which can not be trusted for
the following identified reasons(s);

 1. Certificate issuer is not trusted by this system.

     Issuer: CN=HackWare-MiAl


Review the following certificate info before you trust it to be added as an exception.
If you do not trust the certificate the connection atempt will be aborted:

    Subject: CN=HackWare-MiAl
     Issuer: CN=HackWare-MiAl
 Valid From: Thu Apr  2 20:56:11 2020
         To: Fri Oct  2 20:56:11 2020

  Certificate fingerprints:

       sha1: 6a4cbe35235f46b5bd37155ef721ec59aac11c3e
     sha256: 35368cc1b2ae9e79927bcb8ededed228062de34978aeeeab74bb029ccbc255e9


Do you trust this certificate (yes/no)? yes

Набираем yes.

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

Failed to initialize NLA, do you have correct Kerberos TGT initialized ?
Failed to connect, CredSSP required by server (check if server has disabled old TLS versions, if yes use -V option).

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


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

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

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

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

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

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

xfreerdp /f /u:ИМЯ-ПОЛЬЗОВАТЕЛЯ /p:ПАРОЛЬ /v:ХОСТ[:ПОРТ]


В этой команде:

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

xfreerdp /f /u:Tester /p:1234 /v:192.168.0.101

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

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

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


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

sudo apt install freerdp2-x11 freerdp2-shadow-x11

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

Про сертификаты:  Неоспрей огнезащитная штукатурка купить в Москве по выгодной цене

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

sudo pacman -S freerdp

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


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

sudo apt install rdesktop

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

sudo pacman -S rdesktop

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

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


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

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

Настройка rdp подключения к windows 8.

Давайте подключимся по RDP к Windows 8.

Настройка на windows 8.


Заходим в “Система” – “Настройка удаленного доступа”, на вкладке “Удаленный доступ” разрешаем удаленный подключения к этому компьютеру.

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

Вот и всё. Теперь нужно лишь узнать ip компьютера в локальной сети:

Настройка на windows 8 на этом закончилась.

Настройка подключения к windows 8 на ubuntu.


Открываем Remmina, создаем новое подключение.

Заполняем Название (удобное Вам).

В поле Сервер вписываем ip компьютера c Windows 8. Также вписываем имя пользователя и пароль. Всё. Сохраняем и подключаемся.

Кроме того можно отредактировать еще качество картинки, я обычно “Хорошее” выбираю:

Вы всегда можете отредактировать данные параметры, просто нажав на соединении правой кнопкой мыши и выбрав “правка”.

Кроме того, в настройка Remmina (CTR-P) можно качество отрегулировать:

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

Вот и всё, подключаемся.

Вот так выглядит картинка.Нормальные шрифты и курсор меняется, нет зависания картинки при старте подключения. Работает всё шустро, нет задержек. Можно вполне себе работать, использую компьютер с windows как тонкий клиент:

И мой сайт хорошо выглядит:

И еще один момент, чтобы нормально срабатывали комбинации клавиш, такие как смена раскладки или alt-f4, нужно, чтобы была зажата данная опция в меню:

Вот и всё.

О проблемах

XP и Vista

Если проблема возникает на Windows XP или Vista, попробуйте сначала обновить протокол до 7 версии (писал в начале статьи). Обязательно включите поддержку CredSSP. На сайте Microsoft статьи уже удалены, но Интернет помнит.

Если не помогло — «доктор говорит в морг, значит в морг». Что испытала на себе операционная система за последние 15 лет — лучше об этом даже и не думать.

NLA

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

NTLM

Некоторые клиенты пытаются авторизоваться с использованием NTLMv1. Причины разные, но исправить на клиенте можно так:

[HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlLsa]
"LmCompatibilityLevel"=dword:00000003


Перезагрузка обязательна.

Если вы молоды и дерзки ничего не боитесь, то есть более радикальное решение — отключение Channel Binding на Remote Desktop Gateway

HKLMSoftwareMicrosoftWindows NTCurrentVersionTerminalServerGatewayConfigCore
Type: REG_DWORD
Name: EnforceChannelBinding
Value: 0 (Decimal)

Делать так не надо. Но мы делали. 🙂 Для клиента, который настаивал (нет не так, НАСТАИВАЛ) что NTLMv1 на рабочих станциях ему необходим. Не знаю, может там серверы на NT4 без SP еще в работе.

Отключение RDP 8 в Windows 10

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

Обзор возможностей

Основные функции программы представлены на рисунке:

Опции xfreerdp

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

    /v:<СЕРВЕР>[:ПОРТ]	Имя хоста сервера с RDP
    /u:...	Имя пользователя
    /p:<ПАРОЛЬ>	Пароль
    /f                   	Полноэкранный режим (<Ctrl> <Alt> <Enter> переключает полноэкранный режим)
    /port:<number>	Порт сервера
    /size:...	Размер экрана
    /w:<width>	Ширина
    /h:<height>	Высота
    /monitor-list        	Вывести список обнаруженных мониторов
    /monitors:<id>[,[,...]]	Выбрать мониторы для использования
    -grab-keyboard       	Отключить захват клавиатуры
    -mouse-motion        	Отключить отправку движений мыши
    /log-level:...	Установить уровень журналирования по умолчанию, подробности смотрите в wLog(7)
     home-drive          	Сделать домашнюю папку пользователя совместной с удалённым столом
    /drive:<ИМЯ>,<ПУТЬ>	Подключить директорию <ПУТЬ> как шару с именем <ИМЯ>
     drives              	Включить перенаправление всех точек монтирования как совместных папок
    /ipv6                	Предпочитать IPv6 AAAA запись, а не IPv4 A запись
    /t:<ЗАГОЛОВОК>	Заголовок окна
    /kbd:0x<id> или <ИМЯ>	Раскладка клавиатуры
    /kbd-fn-key:<ЗНАЧЕНИЕ>	Значение функциональной клавиши
    /kbd-list            	Вывести список раскладок клавиатуры
    /kbd-subtype:<id>	Подтип клавиатуры
    /kbd-type:<id>	Тип клавиатуры

Ошибка freerdp-shadow «client authentication failure: -1»


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

[11:54:02:458] [1921:1925] [ERROR][com.freerdp.client.shadow] - client authentication failure: -1
[11:54:02:458] [1921:1925] [ERROR][com.freerdp.core.peer] - peer_recv_callback: CONNECTION_STATE_FINALIZATION - peer_recv_pdu() fail
[11:54:02:458] [1921:1925] [ERROR][com.freerdp.core.transport] - transport_check_fds: transport->ReceiveCallback() - -1
[11:54:02:458] [1921:1925] [ERROR][com.freerdp.client.shadow] - Failed to check FreeRDP file descriptor

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

Про сертификаты:  Порядок покупки квартиры по военному сертификату

Плагины к remmina.

По умолчанию в Remmina доступно мало протоколов удаленного доступа:

VNC плагин не ставьте, он работать не будет.Из рабочих плагинов можно поставить для протоколов NX и XDMCP:

sudo apt-get install remmina-plugin-nx remmina-plugin-xdmcp

Перезапустить Remmina и в окне нового подключения станут доступны новые протоколы:

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

Про NX расскажу подробнее в следующей статье.

Примеры использования remmina

1. Установка подключения к Windows (для примера взят Windows Server 2021r2).

Для установки соединения нажмите на кнопку «Добавить новый профиль соединения». Откроется окно создания соединения, где вам нужно выбрать протокол RDP и заполнить поля «Сервер», «Имя пользователя» и «Пароль».

После заполнения полей нажмите на кнопку «Сохранить» — для сохранения настроек или на кнопку «Сохранить и подключить» — для сохранения настроек и подключения к удаленному рабочему столу.

2. Подключение к x11vnc-серверу, используя протокол VNC.

В новом профиле соединения из выпадающего списка параметра «Протокол» выберите «Модуль VNС Remmina». Также заполните поля «Имя пользователя» и «Пароль». В поле «Сервер» впишите IP-адрес хоста вашей машины и порт VNC.

Для подключения нажмите на кнопку «Подключить» или «Сохранить и подключить».

3. Перенаправление USB-устройств через Remmina.3.1 Перенаправление принтера в удаленный рабочий стол по протоколу RDP.

Откройте параметры соединения, перейдите на вкладку «Дополнительные», установите флажок на строке «Сделать принтеры общедоступными».

Нажмите на кнопку «Сохранить и подключить», в результате локальный принтер будет перенаправлен в удаленный рабочий стол.

3.2 Общий доступ к локальным каталогам или Flash-носителю в удаленном рабочем столе.

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

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

Установка remmina

Для установки данного приложения выполните команду:— для РЕД ОС версии 7.2 и младше:

yum install remmina -y

— для РЕД ОС версии 7.3 и старше:

dnf install remmina -y

Установка новых плагинов

При скачивании Remmina будут доступны следующие плагины: EXEC, NX, RDP, RDPF, RDPS, SFTP, SPICE, SSH, ST, VNC, VNCI, XDMCP, glibsecret.

Для расширенной работы с приложением вы можете установить оставшиеся плагины следующими командами (команды необходимо выполнять с правами администратора):— для РЕД ОС 7.2 и младше:

yum install remmina-gnome-session.x86_64
yum install remmina-plugins-kwallet.x86_64
yum install remmina-plugins-spice.x86_64
yum install remmina-plugins-www.x86_64

— для РЕД ОС 7.3 и старше:

dnf install remmina-gnome-session.x86_64
dnf install remmina-plugins-kwallet.x86_64
dnf install remmina-plugins-spice.x86_64
dnf install remmina-plugins-www.x86_64

Установка последней версии remmina в ubuntu.

Для Ubuntu есть

на ланчпад, где добавляются последние версии remmina и rdp плагина.

В репозитории есть пакеты только для версий 14.04 – 15.04

Чтобы установить последнюю версию Remmina в Ubuntu откройте терминал и выполните следующие команды:

sudo apt-add-repository ppa:remmina-ppa-team/remmina-nextsudo apt-get updatesudo apt-get install remmina remmina-plugin-rdp

Для

Ubuntu 12.04

попробуйте такой фокус:

Всё. Теперь последняя версия Remina установлена.

Если нужно удалить программу, то выполните следующие команды:

sudo apt-add-repository -r ppa:remmina-ppa-team/remmina-nextsudo apt-get updatesudo apt-get remove remmina remmina-plugin-rdp

Оцените статью
Мой сертификат
Добавить комментарий