- Что такое rdp
- /cert-ignore is not applied when using rdp file with authentication level set · issue #3199 · freerdp/freerdp
- Добавляем А запись
- Качаем WinAcme
- Открываем 80 порт
- Разрешаем выполнение скриптов
- Устанавливаем сертификат
- Freerdp параметры подключения | xaxatyxa
- Xfreerdp man page – freerdp – general commands | mankier
- Альтернативные клиенты на ubuntu
- Безопасность rdp
- Блокировка подключений учетных записей с пустыми паролями
- Запуск протокола на сервере
- Изменение имени администратора
- Настройка клиента rdp на windows
- Подключение на debian
- Подключение на macоs
- Подключение на ubuntu
- Подключение на windows
- Подключение со смартфона
- Подключение через графический интерфейс
- Принцип работы
- Режим подключений
- Смена порта
- Шифрование
- Итоги
Что такое rdp
Remote Desktop Protocol — протокол удаленного рабочего стола от Microsoft. С его помощью вы можете установить соединение с удаленным компьютером и управлять его операционной системой, используя графический интерфейс.
На Windows протокол доступен «из коробки». Клиент RDP называется «Подключение к удаленному рабочему столу» или Remote Desktop Connection. Исполняемый файл клиента называется mstsc.exe.
RDP можно использовать не только на Windows. Для macOS, Android и iOS есть официальное приложение, на Ubuntu и Debian можно установить сторонние клиенты.
/cert-ignore is not applied when using rdp file with authentication level set · issue #3199 · freerdp/freerdp
Добавляем А запись

Просто добавляем A запись и вписываем в неё IP адрес сервера. На этом работа с доменом окончена.
Качаем WinAcme
. Архив лучше всего распаковать туда, куда вы не доберетесь, исполняемые файлы и скрипты вам еще пригодятся в будущем для автоматического обновления сертификата. Лучше всего вытряхнуть архив в C:WinAcme.
Открываем 80 порт

Разрешаем выполнение скриптов
Чтобы WinAcme смог без проблем импортировать новый сертификат, нужно разрешить выполнение скриптов. Для этого переходив в папку /Scripts/
Перед запуском WinAcme нам нужно разрешить выполнение двух скриптов. Для этого двойным кликом запустите PSRDSCerts.bat из папки со скриптами.
Устанавливаем сертификат

Дальше скопируйте строку ниже и введите имя домена, по которому хотите подключатсяь к серверу и выполните команду.
Freerdp параметры подключения | xaxatyxa

Я уже рассказывал про установку FreeRDP на Ubuntu. Теперь пришло время описать параметры подключения.
Набирая в консоли «xfreerdp –help» получаем краткое описание параметров. Попробую описать всё более детально.
xaxatyxa@xaxatyxa-desktop:~$ xfreerdp –help
FreeRDP — A Free Remote Desktop Protocol Client
See http://freerdp.sourceforge.net for more information
Usage: xfreerdp [options] server:port
— a: color depth (8, 15, 16, 24 or 32)
— u: username
— p: password
— d: domain
— k: keyboard layout ID
— kbd-list: list all keyboard layout IDs
— s: shell
— c: directory
— g: geometry, using format WxH, default is 1024×768
— t: alternative port number, default is 3389
— n: hostname
— o: console audio
— 0: console session
— f: fullscreen mode
— z: enable bulk compression
— x: performance flags (m, b or l for modem, broadband or lan)
— no-tls: disable TLS encryption
— plugin: load a virtual channel plugin
— no-osb: disable off screen bitmaps, default on
— version: Print out the version and exit
— h: show this help
Описание параметров:
-a: Глубина цвета монитора. Возможные значения: 8, 15, 16, 24, 32 бита
-u: Имя пользователя для авторизации на сервере
-p: Пароль пользователя для авторизации на сервере
-d: Домен для авторизации на сервере
-k: Раскладка клавиатуры. Пример: -k en_US или -k 0×00000409
–kbd-list: Список всех возможных раскладок.
xaxatyxa@xaxatyxa-desktop:~$ xfreerdp --kbd-list Keyboard Layouts 0x00000401 Arabic (101) 0x00000402 Bulgarian 0x00000404 Chinese (Traditional) - US Keyboard 0x00000405 Czech 0x00000406 Danish 0x00000407 German 0x00000408 Greek 0x00000409 US 0x0000040A Spanish 0x0000040B Finnish 0x0000040C French 0x0000040D Hebrew 0x0000040E Hungarian 0x0000040F Icelandic 0x00000410 Italian 0x00000411 Japanese 0x00000412 Korean 0x00000413 Dutch 0x00000414 Norwegian 0x00000415 Polish (Programmers) 0x00000416 Portuguese (Brazilian ABNT) 0x00000418 Romanian 0x00000419 Russian 0x0000041A Croatian 0x0000041B Slovak 0x0000041C Albanian 0x0000041D Swedish 0x0000041E Thai Kedmanee 0x0000041F Turkish Q 0x00000420 Urdu 0x00000422 Ukrainian 0x00000423 Belarusian 0x00000424 Slovenian 0x00000425 Estonian 0x00000426 Latvian 0x00000427 Lithuanian IBM 0x00000429 Farsi 0x0000042A Vietnamese 0x0000042B Armenian Eastern 0x0000042C Azeri Latin 0x0000042F FYRO Macedonian 0x00000437 Georgian 0x00000438 Faeroese 0x00000439 Devanagari - INSCRIPT 0x0000043A Maltese 47-key 0x0000043B Norwegian with Sami 0x0000043F Kazakh 0x00000440 Kyrgyz Cyrillic 0x00000444 Tatar 0x00000445 Bengali 0x00000446 Punjabi 0x00000447 Gujarati 0x00000449 Tamil 0x0000044A Telugu 0x0000044B Kannada 0x0000044C Malayalam 0x0000044E Marathi 0x00000450 Mongolian Cyrillic 0x00000452 United Kingdom Extended 0x0000045A Syriac 0x00000461 Nepali 0x00000463 Pashto 0x00000465 Divehi Phonetic 0x0000046E Luxembourgish 0x00000481 Maori 0x00000804 Chinese (Simplified) - US Keyboard 0x00000807 Swiss German 0x00000809 United Kingdom 0x0000080A Latin American 0x0000080C Belgian French 0x00000813 Belgian (Period) 0x00000816 Portuguese 0x0000081A Serbian (Latin) 0x0000082C Azeri Cyrillic 0x0000083B Swedish with Sami 0x00000843 Uzbek Cyrillic 0x0000085D Inuktitut Latin 0x00000C0C Canadian French (legacy) 0x00000C1A Serbian (Cyrillic) 0x00001009 Canadian French 0x0000100C Swiss French 0x0000141A Bosnian 0x00001809 Irish 0x0000201A Bosnian Cyrillic Keyboard Layout Variants 0x00010401 Arabic (102) 0x00010402 Bulgarian (Latin) 0x00010405 Czech (QWERTY) 0x00010407 German (IBM) 0x00010408 Greek (220) 0x00010409 United States-Dvorak 0x0001040A Spanish Variation 0x0001040E Hungarian 101-key 0x00010410 Italian (142) 0x00010415 Polish (214) 0x00010416 Portuguese (Brazilian ABNT2) 0x00010419 Russian (Typewriter) 0x0001041B Slovak (QWERTY) 0x0001041E Thai Pattachote 0x0001041F Turkish F 0x00010426 Latvian (QWERTY) 0x00010427 Lithuanian 0x0001042B Armenian Western 0x00010439 Hindi Traditional 0x0001043A Maltese 48-key 0x0001043B Sami Extended Norway 0x00010445 Bengali (Inscript) 0x0001045A Syriac Phonetic 0x00010465 Divehi Typewriter 0x0001080C Belgian (Comma) 0x0001083B Finnish with Sami 0x00011009 Canadian Multilingual Standard 0x00011809 Gaelic 0x00020401 Arabic (102) AZERTY 0x00020405 Czech Programmers 0x00020408 Greek (319) 0x00020409 United States-International 0x0002041E Thai Kedmanee (non-ShiftLock) 0x0002083B Sami Extended Finland-Sweden 0x00030408 Greek (220) Latin 0x00030409 United States-Dvorak for left hand 0x0003041E Thai Pattachote (non-ShiftLock) 0x00040408 Greek (319) Latin 0x00040409 United States-Dvorak for right hand 0x00050408 Greek Latin 0x00050409 US English Table for IBM Arabic 238_L 0x00060408 Greek Polytonic 0xB0000407 German Neo Keyboard Input Method Editors (IMEs) 0xE0010404 Chinese (Traditional) - Phonetic 0xE0010411 Japanese Input System (MS-IME2002) 0xE0010412 Korean Input System (IME 2000) 0xE0010804 Chinese (Simplified) - QuanPin 0xE0020404 Chinese (Traditional) - ChangJie 0xE0020804 Chinese (Simplified) - ShuangPin 0xE0030404 Chinese (Traditional) - Quick 0xE0030804 Chinese (Simplified) - ZhengMa 0xE0040404 Chinese (Traditional) - Big5 Code 0xE0050404 Chinese (Traditional) - Array 0xE0050804 Chinese (Simplified) - NeiMa 0xE0060404 Chinese (Traditional) - DaYi 0xE0070404 Chinese (Traditional) - Unicode 0xE0080404 Chinese (Traditional) - New Phonetic 0xE0090404 Chinese (Traditional) - New ChangJie 0xE00E0804 Chinese (Traditional) - Microsoft Pinyin IME 3.0 0xE00F0404 Chinese (Traditional) - Alphanumeric
-s: Запуск приложения при подключении. Указываем путь до нужного приложения.
-c: Рабочий каталог. Используется в сочетании с параметром «-s».
параметры «-s» и «-с» соответствуют параметрам в mstsc windows

-g: Разрешение экрана. Указывается в формате WxH. По умолчанию используется 1024×768
-t: Номер порта сервера. По умолчанию это стандартный RDP порт 3389. Можно также указать как «: <port>» после ip-адреса или имени сервера.
-n: Имя клиента, которое будет передано серверу. freerdp автоматически получает имя хоста клиента.
-o: Воспроизводить звук на стороне сервера. Соответствует аналогичному параметру в windows «Проигрывать на этом компьютере»

-0: (ноль) Присоединиться на сервере к консоли администратора . Это параметр включается автоматически если сервер лицензирования сервера терминалов недоступен. Аналог в windows /admin (пример: mstsc.exe /admin /v:192.168.0.1)
-f: Удаленный рабочий стол открывается на весь экран. Переключиться обратно в linux можно с помощью сочетания клавиш «Ctrl Alt Enter»
-z: Включить сжатие внутри зашифрованного потока данных RDP.
-x: Производительность канала (Аналог в windows вкладка”Дополнительно”). Имеет три параметра:
- b (broadband) — широкополосный канал. Включает «Визуальные эффекты при отображении меню и окон» и «Отображать содержимое окна при перетаскивании»
- l (lan) — Локальная сеть. Включает ещё и «Фоновый рисунок рабочего стола»
- m (modem) — отключает всё.
Если вы не используете этот параметр при подключении, то по умолчанию будут включены только «Стили оформления».

–no-tls: Отключить TLS шифрования.
–plugin: Подключить дополнительные плагины
формат использования: –plugin <pluginname> [–data <plugindata> –]
пример: –plugin drdynvc –data audin —
Параметр «–plugin» может быть указан несколько раз, если вы подключаете несколько плагинов. Параметр «–data» после указания аргументов должен закрываться символами «–»
В версии 0.8.2 поддерживаются следующие плагины:
–plugin cliprdr
Синхронизация буфера обмена. Поддерживается: обычный текст, Unicode текст, HTML и изображения.
–plugin rdpsnd
Перенаправление звука, генерируемого на сервере клиента.
–plugin rdpdr –data <subplugin> [<subplugin> …] —
Перенаправление устройств файловой системы вашего клиента к серверу.<subplugin> может принимать значение одно или несколько из следующих:
disk:<sharename>:<path>
Перенаправление <path> на сервер в качестве общей папки \tsclient<sharename>.
printer[:<printername>[:<driver>]]
Перенаправление принтера на сервер. Если параметры <printername> и <driver> не будут указаны, автоматически будут перенаправляться все принтеры.
serial:<sharename>:<device>
Перенаправление последовательного порта (serial port или COM-порт) на сервер.
parallel:<sharedname>:<lptdevice>
Перенаправление параллельного порта на сервер.
–plugin drdynvc –data <subplugin> [<subplugin> …] —
Перенаправление звука на сервер и с него. Потдерживается в RDP версии 7.0 (Windows 7, Windows 2008 and Windows 2008 R2).
–no-osb: Отключить кеширование графики, по умолчанию включено. Позволяет значительно повысить производительность.
–version: Узнать версию FreeRDP
xaxatyxa@xaxatyxa-desktop:~$ xfreerdp --version This is FreeRDP version 0.8.2
-h: Показать помощь.
xaxatyxa@xaxatyxa-desktop:~$ xfreerdp -h FreeRDP - A Free Remote Desktop Protocol Client See http://freerdp.sourceforge.net for more information Usage: xfreerdp [options] server:port -a: color depth (8, 15, 16, 24 or 32) -u: username -p: password -d: domain -k: keyboard layout ID --kbd-list: list all keyboard layout IDs -s: shell -c: directory -g: geometry, using format WxH, default is 1024x768 -t: alternative port number, default is 3389 -n: hostname -o: console audio -0: console session -f: fullscreen mode -z: enable bulk compression -x: performance flags (m, b or l for modem, broadband or lan) --no-tls: disable TLS encryption --plugin: load a virtual channel plugin --no-osb: disable off screen bitmaps, default on --version: Print out the version and exit -h: show this help
Xfreerdp man page – freerdp – general commands | mankier
Addin
Action script (default:~/.config/freerdp/action.sh)
Admin (or console) session
desktop composition (default:off)
Remote application program
Remote application command-line parameters
File to open with remote application
Remote application GUID
Remote application icon for user interface
Remote application name for user interface
Remote application workspace path
Remote assistance password
Automatically request remote assistance input control
Asynchronous channels (experimental) (default:off)
Asynchronous input (default:off)
Asynchronous update (default:off)
Audio output mode
Authenticate only (default:off)
Authentication (experimental) (default:on)
Automatic reconnection (default:off)
Automatic reconnection maximum retries, 0 for unlimited [0,1000]
bitmap cache (default:off)
Session bpp (color depth) (default:16)
Print the build configuration
Certificate accept options. Use with care! * deny … Automatically abort connection if the certificate does not match, no user interaction. * ignore … Ignore the certificate checks altogether (overrules all other options) * name … Use the alternate <name> instead of the certificate subject to match locally stored certificates * tofu … Accept certificate unconditionally on first connect and deny on subsequent connections if the certificate does not match * fingerprints … A list of certificate hashes that are accepted unconditionally for a connection
[deprecated, use /cert:deny] Automatically abort connection for any certificate that can not be validated.
Client Build Number sent to server (influences smartcard behaviour, see [MS-RDPESC])
Client Hostname to send to server
Redirect clipboard. * use-selection:<atom> … (X11) Specify which X selection to access. Default is CLIPBOARD. PRIMARY is the X-style middle-click selection. (default:on)
Bitmap codec cache
compression (default:on)
Compression level (0,1,2)
credentials delegation (default:off)
Domain
Window decorations (default:on)
Display control
Redirect directory <path> as named share <name>. Hotplug support is enabled with /drive:hotplug,*. This argument provides the same function as “Drives that I plug in later” option in MSTSC.
Redirect all mount points as shares (default:off)
Dynamic virtual channel
Send resolution updates when the window is resized
Echo channel
Encryption (experimental) (default:on)
RDP standard security encryption methods
Fullscreen mode (<Ctrl> <Alt> <Enter> toggles fullscreen)
fast-path input/output (default:on)
FIPS mode (default:off)
floatbar is disabled by default (when enabled defaults to sticky in fullscreen mode)
smooth fonts (ClearType) (default:on)
Number of frame acknowledgement
Read credentials from stdin. With <force> the prompt is done before connection, otherwise on server request.
Gateway Hostname
Gateway usage method
Gateway domain
GDI rendering
Geometry tracking channel
Consume multitouch input locally (default:off)
RDP8 graphics pipeline
RDP8 graphics pipeline using progressive codec (default:off)
RDP8 graphics pipeline using small cache mode (default:off)
RDP8 graphics pipeline using thin client mode (default:off)
Glyph cache (experimental) (default:off)
Gateway password
Grab keyboard (default:on)
Gateway transport type
Gateway username
Gateway Access Token
Height (default:768)
Support heartbeat PDUs (default:on)
Print help
Redirect user home as share (default:off)
Prefer IPv6 AAA record over IPv4 A record
Keyboard layout
Keyboard active language identifier
Function key value
List keyboard layouts
List keyboard languages
Keyboard scancode remapping
Keyboard subtype
Keyboard type
Load balance info
Set logger filters, see wLog(7) for details
Set the default log level, see wLog(7) for details
Specify maximum fast-path update size
Specify maximum time in milliseconds spend treating packets
menu animations (default:off)
Audio input (microphone)
List detected monitors
Select monitors to use
Send mouse motion (default:on)
Use multiple monitors
Redirect multitouch input (default:off)
Support multitransport protocol (default:off)
protocol security negotiation (default:on)
Network connection type
NSCodec support
offscreen bitmap cache (default:off)
Orientation of display in degrees
Use the old license workflow (no CAL and hwId set to 0) (default:off)
Password
Redirect parallel device
Parent window id
Use smart card authentication with password as smart card PIN (default:off)
Preconnection Blob
Preconnection Id
Physical height of display (in millimeters)
Replay rfx pcap file
Server port
suppress output when minimized (default:on)
Print base64 reconnect cookie after connecting (default:off)
Redirect printer device
Proxy settings: override env. var (see also environment variable below). Protocol “socks5” should be given explicitly where “http” is default.
Pass the hash (restricted admin mode)
Physical width of display (in millimeters)
TCP redirection
Pass base64 reconnect cookie to the connection
Override the preferred redirection order
Do not check if a RDP order was announced during capability exchange, only use when connecting to a buggy server
Restricted admin mode
RemoteFX
RemoteFX mode
Scaling factor of the display (default:100)
Scaling factor for desktop applications (value between 100 and 500) (default:100)
Scaling factor for app store applications (default:100)
Force specific protocol security
NLA extended protocol security (default:off)
NLA protocol security (default:on)
RDP protocol security (default:on)
TLS protocol security (default:on)
Redirect serial device
Alternate shell
Shell working directory
Screen size (default:1024×768)
Scale remote desktop to window size
Redirect the smartcard devices containing any of the <str> in their names.
Activates Smartcard Logon authentication. (EXPERIMENTAL: NLA not supported)
Audio output (sound)
Span screen over multiple monitors
SPN authentication service class
SSH Agent forwarding channel
Window title
themes (default:on)
Advanced setting for high latency links: Adjust connection timeout, use if you encounter timeout failures with your connection (default:9000)
Allowed TLS ciphers
TLS security level – defaults to 1 (default:1)
Alt Ctrl Enter to toggle fullscreen (default:on)
[experimental] directly manipulate freerdp settings, use with extreme caution! (default:)
Альтернативные клиенты на ubuntu
Если приложение Remmina работает нестабильно, попробуйте другие клиенты для подключения по RDP:
- Freerdp — бесплатная реализация RDP.
- Rdesktop — клиент с открытым исходным кодом.
Чтобы установить freerdp, запустите терминал и выполните команду
sudo apt install freerdp2-x11 freerdp2-shadow-x11
Для подключения к удаленному компьютеру используйте команду
xfreerdp /f /u:ИМЯ-ПОЛЬЗОВАТЕЛЯ /p:ПАРОЛЬ /v:ХОСТ[:ПОРТ]
Здесь /f — это указание на то, что удаленный рабочий стол нужно открыть в полноэкранном режиме. Если хотите открыть его в оконном режиме, просто не указывайте эту опцию. Остальные опции понятные: имя и пароль учетной записи, IP-адрес и порт компьютера, к которому вы подключаетесь.
Например, если вы хотите подключить общие папки, используйте опцию /drive:<ИМЯ>,<ПУТЬ> или drives. В первом случае вы подключаете конкретную директорию, а во втором включаете перенаправление всех точек монтирования как совместных папок.
При первом подключении в терминале появится предупреждение о недоверенном сертификате. Чтобы принять его, введите на клавиатуре Y и нажмите на Enter.
Клиент rdesktop устанавливается командой:
sudo apt install rdesktop
Для подключения к удаленному рабочему столу используйте команду
rdesktop -u ПОЛЬЗОВАТЕЛЬ -p ПАРОЛЬ ХОСТ
При первом подключении появится предупреждение о недоверенном сертификате. Введите с клавиатуры yes, чтобы принять его.
Для работы с rdesktop на сервере должны быть настроена аутентификация на уровне сети. Иначе при подключении будет вылетать ошибка. О настройках аутентификации на уровне сети мы говорили в разделе «Безопасность».
Безопасность rdp
RDP такой же безопасный, как и другие протоколы удаленного доступа. Но для сохранения конфиденциальности его надо правильно настроить.
Основные уязвимости:
- Слабые учетные данные пользователей. Например, часто встречаются одинаковые пароли для локальной работы и удаленного подключения, использование пустых паролей.
- Открытый порт 3389, который используется для подключения по умолчанию.
Учитывая эти уязвимости и другие возможные направления атак, посмотрим, как повысить уровень безопасности.
Блокировка подключений учетных записей с пустыми паролями
Для усиления безопасности можно также запретить подключаться учетным записям с пустым паролем.
- Нажмите сочетание Win R и выполните
secpol.msc. - Перейдите по пути «Локальные политики» –- «Параметры безопасности».
- Включите параметр «Учетные записи: разрешить использование пустых паролей только при консольном входе».
Запуск протокола на сервере
Через окно «Выполнить»:
- Используйте сочетание клавиш Win R и выполните
SystemPropertiesRemote. - Во вкладке «Удаленный доступ» отметьте опцию «Разрешить удаленные подключения».
Можно указать конкретных пользователей, которым доступ разрешен. Чтобы сделать это, нажмите «Выбрать пользователей». Пользователи, которые входят в группу «Администраторы», могут подключаться по умолчанию. Вы можете добавить других пользователей.
Через графический интерфейс (на примере Windows 10):
- Откройте «Параметры».
- Перейдите в раздел «Система».
- Откройте вкладку «Удаленный рабочий стол» и переведите ползунок в положение «Вкл.».
- Подтвердите действие.
После включения удаленного рабочего стола появятся дополнительные настройки. Вы можете оставлять компьютер в режиме бодрствования для подключения, когда он подключен к электросети. Также можно сделать так, чтобы компьютер был доступен для обнаружения в частных сетях.
Ссылка «Дополнительные параметры» ведет к настройкам безопасности, про которые мы говорили выше. Здесь можно включить аутентификацию на уровне сети и посмотреть, какой порт используется для подключения.
Изменение имени администратора
Создайте уникальное имя для учетной записи, с помощью которой вы будете подключаться к удаленному рабочему столу.
Чтобы переименовать учетную запись:
- Нажмите сочетание Win X и выберите пункт «Управление компьютером».
- Раскройте разделы «Служебные программы» — «Локальные пользователи» — «Пользователи».
- Выберите в списке пользователя «Администратор».
- Кликните правой кнопкой и выберите «Переименовать».
- Укажите любое другое имя.
Используйте для удаленного подключения имя учетной записи, которую вы переименовали.
Настройка клиента rdp на windows
Чтобы запустить встроенное приложение, нажмите клавиши Win R и выполните команду mstsc. Также можно использовать системный поиск. Программа называется «Подключение к удаленному рабочему столу» или Remote Desktop Connection.
В запущенном окне пропишите IP-адрес сервера с настроенным RDP. Если у хоста настроено несколько IP-адресов, используйте для соединения любой. Чтобы установить связь, нажмите «Подключить». Укажите имя учетной записи и пароль пользователя.
При попытке установить соединение может появиться уведомление о недоверенном сертификате. Поставьте галочку возле опции «Больше не выводить…» и нажмите на кнопку «Да». После успешного подключения на экране появится окно, внутри которого будет удаленный рабочий стол.
Клиент mstsc также имеет дополнительные параметры. С их помощью можно, например, использовать общие принтер, диски, буфер обмена. Это удобно для обмена информацией. Допустим, вы можете копировать фрагмент текста на удаленном компьютере, а затем вставлять его в документ на локальной машине. Эти настройки выставляются до подключения на вкладке «Локальные ресурсы».
На других вкладках тоже есть полезные параметры. На пример, в разделе «Экран» вы можете настроить размер удаленного рабочего стола. Если нужен полноэкранный режиме, передвиньте ползунок в крайнюю правую позицию.
Здесь также можно включить использование всех мониторов для удаленного сеанса, указать глубину цвета и включить/выключить отображение панели управления в полноэкранном режиме. С ее помощью можно:
- Проверять качество соединения.
- Сворачивать удаленный рабочий стол без разрыва соединения — как любое другое приложение.
- Менять размер экрана удаленного компьютера (полноэкранный режим, режим окна).
- Разрывать соединение с удаленным компьютером.
Этих возможностей достаточно для базового управления подключением.
Во вкладке «Взаимодействие» доступны настройки для оптимизации соединения. По умолчанию качество соединения определяется автоматически. Но вы можете его повысить или понизить и гибко настроить используемые функции вроде фона рабочего стола и сглаживания шрифтов.
Во вкладке «Дополнительно» скрываются настройки безопасности. Здесь можно включить/выключить предупреждение о том, что подлинность удаленного сервера не удается подтвердить. Можно подключаться без предупреждения или не соединять при обнаружении проблем.
Подключение на debian
На Debian для соединения с сервером через RDP тоже можно взять приложение Remmina. Чтобы его установить:
- Запустите менеджер инсталляции пакетов.
- В поисковой строке введите «Remmina».
- Выделите все результаты для инсталляции и нажмите «Применить изменения».
- Запустите программу после установки.
- Нажмите «Создать», чтобы указать данные нового подключения.
- Укажите имя соединения. Оно может быть любым.
- В поле «Сервер» пропишите IP-адрес удаленного хоста.
- Укажите юзернейм и пароль.
- Вы можете настроить дополнительные параметры подключения. Например, выбрать источник звука и настройки безопасности.
- Нажмите Save, чтобы сохранить соединение.
Все сохраненные подключения хранятся в одном списке. Найдите нужное и нажмите на него для старта. На экране появится предупреждение о недоверенном сертификате. Щелкните «Ок» или «Принять». После удачного соединения вы попадете на рабочий стол удаленного хоста.
На Debian тоже можно использовать клиенты freerdp и rdesktop вместо Remmina. Устанавливаются они теми же командами, что и на Ubuntu. Процесс настройки соединений также не отличается.
Подключение на macоs
Для macOS Microsoft выпустила официальный клиент для подключения к серверу по RDP. Он называется Microsoft Remote Desktop и доступен для скачивания в App Store.
Подключение настраивается так же просто, как на Windows.
- Запустите программу и нажмите на кнопку
Newдля создания нового подключения. - Укажите произвольное название в поле Connection name.
- В поле
PC nameвведите IP-адрес сервера. - Впишите имя пользователя и пароль для подключения.
После завершения настройки новое подключение сохранится в списке. Чтобы запустить его, кликните дважды левой кнопкой. После запуска появится уведомление о недоверенном сертификате. Это не страшно. Нажмите на кнопку «Показать сертификат» и отметьте опцию «Всегда доверять … при подключении к …».
После принятия самоподписанного сертификата вы увидите в отдельном окне рабочий стол удаленного компьютера.
Подключение на ubuntu
В отличие от Windows и macOS на Ubuntu нет официального клиента для подключения к серверу по RDP. Однако это не проблема. Зато разработаны неофициальные приложения. Многие хостеры в своих базах знаний советуют использовать для подключения программу Remmina.
Для установки Remmina запустите терминал и выполните три команды.
Установите пакет Remmina:
sudo apt-add-repository ppa:remmina-ppa-team/remmina-next
Установите обновления:
sudo apt-get update
Установите плагин:
sudo apt-get install remmina remmina-plugin-rdp libfreerdp-plugins-standard
Если ранее вы устанавливали и запускали Remmina, нужно перезапустить программу. Для этого убейте процесс:
sudo killall remmina
Если эта команда вернет ошибку с сообщением о том, что ничего похожего в списке запущенных процессов нет, то это тоже хорошие новости — значит можно запускать программу.
- Найдите Remmina в списке инсталлированных приложений.
- Чтобы добавить соединение, нажмите на значок плюса.
- В поле Name впишите название соединения. Оно может быть любым.
- В поле Protocol выберите
RDP. - Ниже на вкладке Basic укажите IP-адрес сервера, имя пользователя и пароль.
- Чтобы параметры сохранились, нажмите Save.
Все соединения сохраняются в одном списке. Выберите нужное подключение. При первой попытке установить соединение появится сообщение о недоверенном сертификате. Чтобы использовать его, нажмите «ОК». После успешного соединения вы увидите рабочий стол удаленного компьютера.
Подключение на windows
На всех версиях Windows доступны для использования клиент и сервер RDP. Для запуска клиента дополнительная настройка не требуется. На сервере протокол может быть отключен, а доступ к порту ограничен или заблокирован.
Подключение со смартфона
Для соединения с удаленными хостами по RDP Microsoft выпустила приложения для двух основных мобильных ОС:
- Удаленный рабочий стол на iOS
- Remote Desktop 8 на Android
Подключение в этих приложениях настраиваются по одному принципу. Сначала вам нужно добавить новое соединение:
Подключение через графический интерфейс
Если вы предпочитаете все делать через консоль, то используйте утилиту mstsc без графического интерфейса. Для гибкой настройки соединения можно использовать опции, описанные в таблице ниже.
* Ограниченное администрирование — в этом режиме учетные данные не отправляются на удаленную машину. Благодаря этому повышается безопасность даже при подключение к компьютеру, который был скомпрометирован.В то же время такие подключения могут не проходить проверку подлинности со стороны других компьютеров, что может влиять на функциональность.
** Remote Guard — инструмент предотвращает отправку учетных данных на удаленный компьютер. В отличие от ограниченного администрирования, здесь поддерживается соединение с удаленного компьютера (все запросы перенаправляются обратно на устройство).
Принцип работы
RDPl основан на протоколе TCP. Порядок его работы в общих чертах выглядит так:
- Устанавливается соединение на транспортном узле.
- Происходит инициализация сессии, определяется порядок передачи данных.
- Сервер начинает передавать клиенту графический вывод. В ответ он ожидает, что пользователь введет входные данные.
Приоритетный способ — передача вывода графическими примитивами: прямоугольниками, линиями, текстами, эллипсами и так далее. Это позволяет экономить трафик. Если договориться о параметрах передачи примитивов не удалось, то клиенту передается изображение графического экрана.
RDP-клиент обрабатывает команды от сервера терминалов и использует собственную графическую подсистему для для вывода изображения. Пользовательский ввод передается благодаря скан-кодам. Сигналы нажатий и отпусканий кнопок передаются отдельно с помощью специального флага.
Remote Desktop Protocol поддерживает несколько виртуальных каналов внутри одной сессии. Это дает доступ к дополнительным возможностям для управления. Можно использовать принтер или порты, перенаправлять файловую систему, работать с единым буфером, использовать подсистему аудио для передачи звука.
Режим подключений
Есть два режима, в которых применяется протокол:
- Администрирование.
- Подключение к серверу приложений.
В режиме администрирования RDP есть во всех версиях Windows. На серверных версиях доступны два подключения и один локальный вход, на клиентских версиях — один вход.
Для подключения к серверу протокол можно использовать только в серверных версиях Windows. На количество подключений лимита нет. Но для работы нужен активированный сервер лицензий.
Смена порта
По умолчанию в RDP ports установлен порт 3389. Оставлять его небезопасно. Изменить порт можно через редактор реестра.
- Нажмите Win R и выполните команду
regedit. - Откройте ветку
HKEY_LOCAL_MACHINESystemCurrentControlSetControlTerminal ServerWinStationsRDP-Tcp. - Найдите
PortNumber. - Нажмите «Редактировать» — «Изменить».
- Выберите пункт «Десятичное».
- Укажите другой порт и нажмите «ОК» для сохранения.
- Закройте редактор реестра и перезагрузите систему.
Теперь для подключения к этому компьютеру нужно будет указывать другой порт, который вы указали в реестре, а не 3389.
Кроме того, не следует открывать доступ к указанному порту за пределами своей сети. Используйте брандмауэр для ограничения. Если нужно открыть порт за пределами сети, используйте VPN в качестве альтернативы.
Шифрование
- Нажмите сочетание Win R и запустите файл
gpedit.msc. - Перейдите по пути «Конфигурация компьютера» — «Административные шаблоны» — «Компоненты Windows» — «Службы удаленных рабочих столов» — «Узел сеансов удаленных рабочих столов» — «Безопасность».
- Включите параметр «Требовать использования специального уровня безопасности для удаленных подключений по методу RDP».
- Выберите уровень «SSL».
Эта настройка просто включает шифрование. Теперь нужно выбрать, какой алгоритм будет применяться.
- Откройте параметр «Установить уровень шифрования для клиентских подключений».
- Выберите уровень шифрований «Высокий уровень».
Теперь соединение будет защищено 128-битным шифрованием. Если этого мало, можно использовать стандарт FIPS 140-1.
- Перейдите по пути «Конфигурация компьютера» — «Конфигурация Windows» — «Параметры безопасности» — «Локальные политики» — «Параметры безопасности».
- Включите параметр «Системная криптография: использовать FIPS-совместимые алгоритмы для шифрования, хэширования и подписывания».
Напоследок нужно установить такие же высокие требования безопасности ко всем клиентам, которые будут подключаться к удаленному серверу.
- Перейдите по пути «Конфигурация компьютера» — «Административные шаблоны» — «Компоненты Windows» — «Службы удаленных рабочих столов» — «Безопасность».
- Включите параметр «Требовать безопасное RPC-подключение».
Итоги
RDP — удобный инструмент для создания удаленного подключения. Он позволяет быстро и гибко настроить соединение в локальной сети или через интернет. Невзирая на то, что протокол разработан корпорацией Microsoft, использовать его можно и на других платформах: macOS, Ubuntu, Debian, Android, iOS.
Чтобы еще раз повторить, как настраивается подключение в среде Windows, посмотрите это видео. Оно на английском, но каждый шаг очень наглядно продемонстрирован:
А из этого видео вы узнаете, как настроить RDP на мобильном устройстве и управлять с него компьютером:

Hello,
With latest master, this is what I get using xfreerdp and a rdp file to connect to a Windows 2021-R2 RDS farm:
the culprit is the
authentication level:i:2in the rdp file.If set to 1 or 2, it fails with the following error.
If set to 0, there is no error.
But I have set /cert-ignore in my command line, which is ignored.
echo ‘password’ | xfreerdp file.rdp -toggle-fullscreen /cert-ignore compression /compression-level:2 heartbeat /d:DOM /u:user /f /sec:nla /from-stdin /kbd:french auto-reconnect /client-hostname:myhost multitouch /sound:sys:pulse,quality:high,rate:44100 /sound:latency:50 async-update async-transport
[14:14:07:962] [20529:20530] [INFO][com.freerdp.client.common.cmdline] – loading channel rdpdr
[14:14:07:963] [20529:20530] [INFO][com.freerdp.client.common.cmdline] – loading channel rdpsnd
[14:14:07:963] [20529:20530] [WARN][com.freerdp.core.client] – Skipping, channel already loaded
[14:14:07:964] [20529:20530] [INFO][com.freerdp.client.common.cmdline] – loading channel rdpsnd
[14:14:07:965] [20529:20530] [INFO][com.freerdp.client.common.cmdline] – loading channel cliprdr
[14:14:07:965] [20529:20530] [INFO][com.freerdp.client.common.cmdline] – loading channel drdynvc
Certificate details:
Subject: C = FR, O = MYO, OU = MYOU, CN = BROKER.DOM, emailAddress = certificats@dom.fr
Issuer: C = FR, O = MYO, OU = MYOU, CN = BROKER.DOM, emailAddress = certificats@dom.fr
Thumbprint: 67:3e:4e:6b:dc:45:2c:1e:f5:78:16:17:eb:5b:65:9a:ad:61:c6:39
The above X.509 certificate could not be verified, possibly because you do not have
the CA certificate in your certificate store, or the certificate has expired.
Please look at the documentation on how to create local certificate store for a private CA.
[14:14:07:017] [20529:20530] [ERROR][com.freerdp.crypto] – certificate not trusted, aborting.
[14:14:07:017] [20529:20530] [ERROR][com.freerdp.core] – freerdp_set_last_error ERRCONNECT_CONNECT_CANCELLED [0x2000B]
[14:14:07:017] [20529:20530] [ERROR][com.freerdp.core.connection] – Error: protocol security negotiation or connection failure
[14:14:07:017] [20529:20530] [ERROR][com.freerdp.client.x11] – Freerdp connect error exit status 1