Как из Linux подключиться к удалённому столу Windows по RDP
freerdp — это клиент RDP для подключения к удалённому рабочему столу из Linux.
Для установки freerdp в Debian, Kali Linux, Linux Mint, Ubuntu и производные выполните команду:
sudo apt install freerdp2-x11 freerdp2-shadow-x11
Если пакеты freerdp2-x11 и freerdp2-shadow-x11 не найдены, то поищите пакет с именем freerdp.
Для установки freerdp в Arch Linux и производные выполните команду:
Как подключиться командой freerdp
Для подключения к удалённому рабочему столу с помощью xfreerdp, запустите команду вида:
xfreerdp /f /u:ИМЯ-ПОЛЬЗОВАТЕЛЯ /p:ПАРОЛЬ /v:ХОСТ[:ПОРТ]
- /f — опция означает открыть удалённый стол в полноэкранном режиме
- /u:ИМЯ-ПОЛЬЗОВАТЕЛЯ — имя учётной записи на компьютере, к которому подключаемся
- /p:ПАРОЛЬ — пароль указанной учётной записи
- /v:ХОСТ[:ПОРТ] — IP адрес или имя компьютера, к удалённому столу которого выполняется подключение. ПОРТ указывать необязательно
Например, я хочу открыть удалённый стол компьютера с IP адресом 192.168.0.101, на котором имеется пользователь Tester с паролем 1234, причём я хочу открыть удалённый рабочий столк в полноэкранном режиме, тогда команда следующая:
xfreerdp /f /u:Tester /p:1234 /v:192.168.0.101
Для переключения между полноэкранным режимом и оконным, используется сочетание клавиш Ctrl+Alt+Enter.
При первом подключении появляется следующее сообщение о проблеме с сертификатом:
[11:02:36:086] [26320:26321] [INFO][com.freerdp.client.common.cmdline] - loading channelEx cliprdr [11:02:36:096] [26320:26321] [ERROR][com.freerdp.crypto] - @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ [11:02:36:096] [26320:26321] [ERROR][com.freerdp.crypto] - @ WARNING: CERTIFICATE NAME MISMATCH! @ [11:02:36:096] [26320:26321] [ERROR][com.freerdp.crypto] - @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ [11:02:36:096] [26320:26321] [ERROR][com.freerdp.crypto] - The hostname used for this connection (192.168.0.101:3389) [11:02:36:096] [26320:26321] [ERROR][com.freerdp.crypto] - does not match the name given in the certificate: [11:02:36:096] [26320:26321] [ERROR][com.freerdp.crypto] - Common Name (CN): [11:02:36:096] [26320:26321] [ERROR][com.freerdp.crypto] - HackWare-MiAl [11:02:36:096] [26320:26321] [ERROR][com.freerdp.crypto] - A valid certificate for the wrong name should NOT be trusted! Certificate details: Subject: CN = HackWare-MiAl Issuer: CN = HackWare-MiAl Thumbprint: 6a:4c:be:35:23:5f:46:b5:bd:37:15:5e:f7:21:ec:59:aa:c1:1c:3e 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 OpenSSL documentation on how to add a private CA to the store. Do you trust the above certificate? (Y/T/N)
Поскольку используются самоподписанные сертификаты без добавленного в хранилище приватного CA (центра аутентификации, удостоверяющего центра), то единственный выбор, это согласиться доверять указанному сертификату, для этого введите Y.
В полноэкранном режиме вы можете отключиться от удалённого рабочего стола двумя способами:
Для запуска в оконном режиме не используйте опцию /f:
xfreerdp /u:Tester /p:1234 /v:192.168.0.101
Опции xfreerdp
У программы xfreerdp множество опций, далее выбраны самые интересные из них:
/v:[:ПОРТ] Имя хоста сервера с RDP /u. Имя пользователя /p: Пароль /f Полноэкранный режим (++ переключает полноэкранный режим) /port: Порт сервера /size. Размер экрана /w: Ширина /h: Высота /monitor-list Вывести список обнаруженных мониторов /monitors:[, [. ]] Выбрать мониторы для использования -grab-keyboard Отключить захват клавиатуры -mouse-motion Отключить отправку движений мыши /log-level. Установить уровень журналирования по умолчанию, подробности смотрите в wLog(7) +home-drive Сделать домашнюю папку пользователя совместной с удалённым столом /drive:, Подключить директорию как шару с именем +drives Включить перенаправление всех точек монтирования как совместных папок /ipv6 Предпочитать IPv6 AAAA запись, а не IPv4 A запись /t: Заголовок окна /kbd:0x или Раскладка клавиатуры /kbd-fn-key: Значение функциональной клавиши /kbd-list Вывести список раскладок клавиатуры /kbd-subtype: Подтип клавиатуры /kbd-type: Тип клавиатуры
Как в 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,/
Как вывести удалённый рабочий стол на другой монитор
Если у вас несколько мониторов, то вы можете выбрать, какой из них использовать для удалённой системы. Чтобы вывести список мониторов запустите команду:
Выбранный идентификатор монитора (или нескольких мониторов) укажите с помощью опции /monitors:[, [,…]].
Как установить размер окна удалённого рабочего стола
В следующем примере выполняется подключение к хосту rdp.contoso.com с именем USER и размером 50 процентов от высоты.
xfreerdp /u:USER /size:50%h /v:rdp.contoso.com
Если вместо высоты (h) установлена ширина (w), примерно как /size:50%w, то будет использоваться 50 процентов ширины.