- Как из Linux подключиться к удалённому столу Windows по RDP
- Как подключиться командой freerdp
- Опции xfreerdp
- Как в freerdp создать общие папки
- Как вывести удалённый рабочий стол на другой монитор
- Как установить размер окна удалённого рабочего стола
- Связанные статьи:
- Windows → Linux
- Взаимодействие по протоколу XDMCP с использованием X-сервера для Windows
- Взаимодействие по протоколу RDP
- Взаимодействие по протоколу RDP и vino
- Astra → Windows
- XfreeRDP
- Linux → Linux
- VNC
- Зашифрованный канал связи ssh
- Не зашифрованный XDMCP
Как из 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 процентов ширины.
Связанные статьи:
Windows → Linux
Взаимодействие по протоколу XDMCP с использованием X-сервера для Windows
Необходимо установить на windows открытый и бесплатный проект: Х сервер: VcXsrv
Для работы VcXsrv необходим Windows7 или выше c обновлением KB2999226. Service Pack1 для Windows7 ломает взаимодействие по rdp, но если поставить все обновления до 1.09.2016 функциональность rdp восстанавливается.
На сервере Astra-Linux в /etc/X11/fly-dm/Xaccess заменить localhost на *, и перезагрузить ОС или сервис fly-dm.
На windows клиенте запустить Xlaunch
Выбрать One large window
Выбрать XDMCP сессию
Поиск хостов
оставить параметры по умолчанию
И готово
Появится окно с хостами, где разрешено удаленное подключение по XDMCP
Необходимо выбрать нужный хост и нажать коннект
Взаимодействие по протоколу RDP
При подключении через «удаленный рабочий стол» выбрать » session-xorgxrdp «
Ввести логин, пароль и нажать «ОК»
При подключении создается отдельная сессия.
Взаимодействие по протоколу RDP и vino
Наши разработчики сделали вариант xrdp и vino, позволяющие использовать режим «интерактивной доски» с авторизацией клиентов. Также это подойдет для настройки удаленного доступа.
P.S. Это ПО будет сертифицировано в составе Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.6).
Скачать vino и libtelepathy_glib:
sudo dpkg -i ~/Загрузки/vino_3.20.2-1astra1_amd64.deb
sudo dpkg -i ~/Загрузки/ libtelepathy-glib0_0.18.2-2_amd64.deb
Нужно запустить (из под учетной записи пользователя) vnc-сервер командой:
Настройка пароля для vnc-сервера.
Для того, чтобы vnc-сервер запрашивал пароль, при подключение клиентской машины, на сервере необходимо установить пакет libglib2.0-bin
gsettings set org.gnome.Vino authentication-methods «[‘vnc’]»
gsettings set org.gnome.Vino vnc-password «$(echo -n «пароль» | base64)»
Настройка vnc-клиента.
Для подключения пользовательской машины к серверу необходимо воспользоваться стандартным rdp клиентом, указав ip-адрес сервера:
При подключении к серверу, в меню приглашения выбрать пункт vnc-any, указать ip-адрес сервера, и пароль к сессии:
Astra → Windows
XfreeRDP
«Система» -> «Удалённый доступ» -> «Предоставить возможность подключения к другим компьютерам с рабочими столами любой версии».
Linux → Linux
VNC
сервер (Astra):
Залогиниться в системе под пользователем
Запустить сервер VNC:
описание:
VNC-сервер позволяет подключаться к текущему сеансу пользователя других клиентов
Зашифрованный канал связи ssh
На сервере установить в /etc/ssh/sshd_config
X11Forwarding yes X11UseLocalhost no
ForwardX11 yes ForwardX11 Trusted yes
Не зашифрованный XDMCP
сервер: fly-dm
клиент: fly-dm
На сервере Astra-Linux в /etc/X11/fly-dm/Xaccess заменить localhost на *
# In all cases, xdm uses the first entry which matches the terminal; # for IndirectQuery messages only entries with right hand sides can # match, for Direct and Broadcast Query messages, only entries without # right hand sides can match. # * #any host can get a login window #
и перезапустить fly-dm: