Astra Linux. Установка RDP-сервера. | Записки МихаНика

Astra Linux. Установка RDP-сервера. | Записки МихаНика Сертификаты
Содержание
  1. Как в freerdp создать общие папки
  2. Как вывести удалённый рабочий стол на другой монитор
  3. Как запустить rdp сервер с xrdp
  4. Как из linux подключиться к другому linux по rdp
  5. Связанные статьи:
  6. Как использовать freerdp-shadow для запуска rdp сервера
  7. Как подключиться к удалённому рабочему столу с rdesktop
  8. Как подключиться к удалённому столу по rdp в linux
  9. Как подключиться командой freerdp
  10. Как пользоваться freerdp
  11. Как пользоваться rdesktop
  12. Как установить сервер rdp в linux
  13. Конфигурирование автоматического выпуска сертификатов
  14. Опции xfreerdp
  15. Ошибка freerdp-shadow «client authentication failure: -1»
  16. Проверка работоспособности
  17. Создание групповой политики для rdp подключений
  18. Создание шаблона сертификата rdp в adcs
  19. Установка своего сертификата для rdp
  20. Шаг 1.
  21. Шаг 2.
  22. Шаг 3.
  23. Шаг 4.
  24. Шаг 5.
  25. Шаг 6.
  26. Шаг 7.
  27. Шаг второй. и снова вопросы доверия
  28. Шаг нулевой. подготовка и вопросы доверия
  29. Шаг первый. размашисто подписываем файл

Как в 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:

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 удалённого рабочего стола
Про сертификаты:  Латексный плоттер HP Latex 800 Y0U21B купить в Москве и с доставкой по России по низкой цене

Также имеется клиент 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.

Конфигурирование автоматического выпуска сертификатов

Переходим в Computer Configuration -> Policies -> Windows Settings -> Security Settings -> Public Key Policies и выбираем Certificate Services Client — Auto-Enrollment Включаем автоматический выпуск сертификатов а так же настройки по их автоматическому обновлению:

Настройка политики автоматического выпуска сертификатов
Настройка политики автоматического выпуска сертификатов

Опции 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 как это показано выше.

Проверка работоспособности

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

  1. Отсутствие в правильной группе безопасности, которая указана в шаблоне;
  2. Отсутствие к ЦС необходимых сетевых портов от клиента. Напомню, это tcp/135 (RPC) и динамические порты tcp/49152—65535.

Проверить что сертификат был успешно выпущен можно в консоли ADCS:

Успешно выданный сертификат RDP
Успешно выданный сертификат RDP

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

Проверка правильности сертификата в RDP подключении
Проверка правильности сертификата в RDP подключении

Создание групповой политики для rdp подключений

Непосредственно сама конфигурация Windows машин будет централизовано выполнятся с помощью групповой политики. Я рекомендую создать отдельный экземпляр политики, в котором будет следующее:

  1. Задание имени шаблона сертификата для использования в RDP подключениях;
  2. Задание типа шифрования RDP подключений;
  3. Конфигурирование автоматического выпуска сертификатов.

Создание шаблона сертификата rdp в adcs

Первый шаг состоит в создании шаблона сертификата, с помощью которого Windows клиенты будут автоматически генерировать сертификаты используемые в RDP подключениях. Для этого в оснастке ADCS переходим к управлению шаблонами сертификатов:

Открытие оснастки управления шаблонами ADCS
Открытие оснастки управления шаблонами ADCS

Дублируем сертификат Computer

Дублирование шаблона компьютера
Дублирование шаблона компьютера

Задаем имя будущего шаблона:

Задание имени шаблона RDP
Задание имени шаблона RDP

Указываем настройки совместимости:

Настройка совместимости шаблона сертификата RDP
Настройка совместимости шаблона сертификата RDP

В Extensions, необходимо задать правильные Application Policies для  поддержки TLS в RDP протоколе

Редактирование расширений шаблона сертификата RDP
Редактирование расширений шаблона сертификата RDP

Для этого удаляем Client Authentication и Server Authentication и добавляем Remote Desktop Authentication с OID 1.3.6.1.4.1.311.54.1.2, как показано на скриншоте:

Создание Application Policy для сертификата RDP
Создание Application Policy для сертификата RDP

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

Настройки безопасности шаблона сертификата RDP
Настройки безопасности шаблона сертификата RDP

Завершающим шагом будет его выпуск на выдающем корпоративном ЦС:

Выпуск сертификата RDP
Выпуск сертификата RDP

Установка своего сертификата для rdp

Чисто для себя заметка

Можно ли каким-то образом, в клиентской винде не входящей в AD, для сервера удалённых рабочих столов установить свой сертификат?

Немного подробнее:
После запуска службы (или если она у вас запущена, то после установки соответствующей галки на вкладке “Удалённый доступ” ) “Службы удаленных рабочих столов” создаётся самоподписанный сертификат (который помещается в хранилище Удалённый рабочий стол > Сертификаты) – хотелось бы его заменить на свой. 

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

1. Идем (gpedit.msc) по пути PC ConfigurationAdministrative TemplatesWindows ComponentsRemote Desktop ServicesRemote Desktop Session HostSecurity: Require use of specific security layer for remote (RDP) connections выбираем SSL (TLS 1.0).
2. Импортируем сертификат в “Сертификаты (локальный компьютер)PersonalRegistryCertificates. Сертификат должен быть в формате PKCS12 (.p12). Выбираем, щелчок – All Tasks – Manage Private Keys… Добавляем NETWORK SERVICE (права Чтение). Сохраняем.
3. Идем в реестр “HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlTerminal ServerWinStationsRDP-Tcp”, добавляем Binary Value (Value name: SSLCertificateSHA1Hash ; Value data: <отпечаток сертификата/certificate thumbprint>). Сохраняем.
4. Идем в “Сертификаты (локальный компьютер)”Remote DesktopRegistryCertificates. Удаляем сертификат ПК. Перезагружаем ПК. (Сертификат ПК создастся заново автоматом (после рестарта компьютера), но использоваться уже не будет).
Собственно все!

terasto
Спасибище! 

Цитата:
Добавляем NETWORK SERVICE (права Чтение).
Про это я не знал!

Цитата:
Идем в реестр … добавляем Binary Value (Value name: SSLCertificateSHA1Hash ; Value data: <отпечаток сертификата/certificate thumbprint>).
Для этого дела есть скрипт – запускать с такими параметрами:

Код:
cscript rdconfig.js <thumbprint of your certificate>

(если лень пробелы их хеша убирать, то можно в кавычки его)

§

Чисто для себя заметка

Можно ли каким-то образом, в клиентской винде не входящей в AD, для сервера удалённых рабочих столов установить свой сертификат?

Немного подробнее:
После запуска службы (или если она у вас запущена, то после установки соответствующей галки на вкладке “Удалённый доступ” ) “Службы удаленных рабочих столов” создаётся самоподписанный сертификат (который помещается в хранилище Удалённый рабочий стол > Сертификаты) – хотелось бы его заменить на свой. 

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

1. Идем (gpedit.msc) по пути PC ConfigurationAdministrative TemplatesWindows ComponentsRemote Desktop ServicesRemote Desktop Session HostSecurity: Require use of specific security layer for remote (RDP) connections выбираем SSL (TLS 1.0).
2. Импортируем сертификат в “Сертификаты (локальный компьютер)PersonalRegistryCertificates. Сертификат должен быть в формате PKCS12 (.p12). Выбираем, щелчок – All Tasks – Manage Private Keys… Добавляем NETWORK SERVICE (права Чтение). Сохраняем.
3. Идем в реестр “HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlTerminal ServerWinStationsRDP-Tcp”, добавляем Binary Value (Value name: SSLCertificateSHA1Hash ; Value data: <отпечаток сертификата/certificate thumbprint>). Сохраняем.
4. Идем в “Сертификаты (локальный компьютер)”Remote DesktopRegistryCertificates. Удаляем сертификат ПК. Перезагружаем ПК. (Сертификат ПК создастся заново автоматом (после рестарта компьютера), но использоваться уже не будет).
Собственно все!

terasto
Спасибище! 

Цитата:
Добавляем NETWORK SERVICE (права Чтение).
Про это я не знал!

Цитата:
Идем в реестр … добавляем Binary Value (Value name: SSLCertificateSHA1Hash ; Value data: <отпечаток сертификата/certificate thumbprint>).
Для этого дела есть скрипт – запускать с такими параметрами:

Код:
cscript rdconfig.js <thumbprint of your certificate>

(если лень пробелы их хеша убирать, то можно в кавычки его)

§

Чисто для себя заметка

Можно ли каким-то образом, в клиентской винде не входящей в AD, для сервера удалённых рабочих столов установить свой сертификат?

Немного подробнее:
После запуска службы (или если она у вас запущена, то после установки соответствующей галки на вкладке “Удалённый доступ” ) “Службы удаленных рабочих столов” создаётся самоподписанный сертификат (который помещается в хранилище Удалённый рабочий стол > Сертификаты) – хотелось бы его заменить на свой. 

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

1. Идем (gpedit.msc) по пути PC ConfigurationAdministrative TemplatesWindows ComponentsRemote Desktop ServicesRemote Desktop Session HostSecurity: Require use of specific security layer for remote (RDP) connections выбираем SSL (TLS 1.0).
2. Импортируем сертификат в “Сертификаты (локальный компьютер)PersonalRegistryCertificates. Сертификат должен быть в формате PKCS12 (.p12). Выбираем, щелчок – All Tasks – Manage Private Keys… Добавляем NETWORK SERVICE (права Чтение). Сохраняем.
3. Идем в реестр “HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlTerminal ServerWinStationsRDP-Tcp”, добавляем Binary Value (Value name: SSLCertificateSHA1Hash ; Value data: <отпечаток сертификата/certificate thumbprint>). Сохраняем.
4. Идем в “Сертификаты (локальный компьютер)”Remote DesktopRegistryCertificates. Удаляем сертификат ПК. Перезагружаем ПК. (Сертификат ПК создастся заново автоматом (после рестарта компьютера), но использоваться уже не будет).
Собственно все!

terasto
Спасибище! 

Цитата:
Добавляем NETWORK SERVICE (права Чтение).
Про это я не знал!

Цитата:
Идем в реестр … добавляем Binary Value (Value name: SSLCertificateSHA1Hash ; Value data: <отпечаток сертификата/certificate thumbprint>).
Для этого дела есть скрипт – запускать с такими параметрами:

Код:
cscript rdconfig.js <thumbprint of your certificate>

(если лень пробелы их хеша убирать, то можно в кавычки его)

Шаг 1.

Открываем терминал.

Шаг 2.

Становимся суперпользователем

sudo su

Шаг 3.

Установим и запустим RDP-сервер.

apt -y install xrdp xorgxrdp
systemctl enable xrdp
systemctl start xrdp

Шаг 4.

Для того, чтобы можно было подключаться к серверу, откроем в сетевом экране порт 3389/tcp.

ufw allow 3389/tcp
ufw reload

Шаг 5.

А теперь немного магии. 🙂

Если во время работы RDP-клиента сессия будет случайно или специально прервана, то при новом подключении откроется НОВАЯ сессия, а СТАРАЯ сессия со всеми открытыми программами так и останется висеть в памяти сервера, что, возможно, будет мешать работе.

cp /etc/xrdp/xrdp.ini /etc/xrdp/xrdp.ini.old
sed -i 's/fork=true/fork=false/' /etc/xrdp/xrdp.ini

Шаг 6.

Далее в файле /etc/xrdp/xrdp.ini комментируем секцию [Xvnc] , а секцию [Xorg] наоборот, – раскомментируем.

cp /etc/xrdp/xrdp.ini /etc/xrdp/xrdp.ini.old2
mcedit /etc/xrdp/xrdp.ini

При помощи редактора приведите всё примерно к такому виду:

Шаг 7.

Решение проблемы с переключением языка клавиатуры при подключении из Windows.

ВАЖНО!!! Выполнять только при необходимости!!!

Если будут проблемы с переключением раскладки, откройте файл /etc/xrdp/xrdp_keyboard.ini

cp /etc/xrdp/xrdp_keyboard.ini /etc/xrdp/xrdp_keyboard.ini.old
mcedit /etc/xrdp/xrdp_keyboard.ini

И добавьте в конец файла:

[layouts_map_ru]
rdp_layout_us=ru,us
rdp_layout_ru=ru,us

[rdp_keyboard_ru]
keyboard_type=4
keyboard_type=7
keyboard_subtype=1
options=grp:alt_shift_toggle
rdp_layouts=default_rdp_layouts
layouts_map=layouts_map_ru

В данной конфигурации раскладка переключается сочетанием клавиш Alt Shift.

Для применения настроек перезагрузите сервер xrdp:

systemctl restart xrdp

Если и это не поможет, то google | yandex вам в помощь.

PS.

Иногда после перезагрузки сервера RDP не работает. Помогает обычный перезапуск службы

systemctl restart xrdp

В причинах пока не разобрался.

Шаг второй. и снова вопросы доверия

Для избавления от этого сообщения нам снова понадобится групповая политика. На этот раз дорога лежит в раздел Конфигурация компьютера — Политики — Административные шаблоны — Компоненты Windows — Службы удаленных рабочих столов — Клиент подключения к удаленному рабочему столу — Указать отпечатки SHA1 сертификатов, представляющих доверенных издателей RDP.

Нужная нам политика.

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

Стоит отметить, что эта политика перекрывает политику «Разрешать RDP-файлы от допустимых издателей и пользовательские параметры RDP, заданные по умолчанию».

Настроенная политика.

Шаг нулевой. подготовка и вопросы доверия

Итак, наш пользователь тыкает на сохраненный файл с расширением .rdp и получает такой вот запрос:

«Зловредное» подключение.

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

Для начала нам нужно взять сертификат для подписывания файла. Он может быть:

Самое главное, чтобы сертификат имел возможность подписывать (да, можно отобратьу бухгалтеров ЭЦП), а клиентские ПК ему доверяли. Здесь я буду использовать самоподписанный сертификат.

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

Если проблемы с доверием решены, переходим непосредственно к вопросу подписи.

Шаг первый. размашисто подписываем файл

Сертификат есть, теперь нужно узнать его отпечаток. Просто откроем его в оснастке «Сертификаты» и скопируем на вкладке «Состав».

Нужный нам отпечаток.

Лучше сразу его привести к должному виду — только большие буквы и без пробелов, если они есть. Это удобно сделать в консоли PowerShell командой:

("6b142d74ca7eb9f3d34a2fe16d1b949839dba8fa").ToUpper().Replace(" ","")

Получив отпечаток в нужном формате, можно смело подписывать файл rdp:

rdpsign.exe /sha256 6B142D74CA7EB9F3D34A2FE16D1B949839DBA8FA .contoso.rdp

Где .contoso.rdp — абсолютный или относительный путь к нашему файлу.

После того как файл подписан, уже не получится изменить часть параметров через графический интерфейс вроде имени сервера (действительно, иначе смысл подписывать?) А если поменять настройки текстовым редактором, то подпись «слетает».

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

Новое сообщение. Цвет менее опасный, уже прогресс.

Избавимся же и от него.

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