
Проблема подключения xFreeRDP
к Windows
После очередного апдейта винды linux`овый rdp-клиент freerdp перестал подключаться remote desktop. Это происходит из-за включенной опции NLA (network level authentication) на стороне windows. При попытке подключения вылезает ошибка:
$ xfreerdp /v:192.168.0.100:3389 /f /u:userlogin /p:userpassword +clipboard
[INFO][com.freerdp.client.common.cmdline] - loading channelEx cliprdr
[ERROR][com.freerdp.core] - freerdp_set_last_error ERRCONNECT_PASSWORD_CERTAINLY_EXPIRED [0x0002000F]
[ERROR][com.freerdp.core.transport] - BIO_read returned an error: error:14094438:SSL routines:ssl3_read_bytes:tlsv1 alert internal error
[ERROR][com.freerdp.client.x11] - Freerdp connect error exit status 1
Для решения проблемы необходимо на стороне RDP — сервера (Windows) отключить NLA. Это можно сделать двумя способами:
Способ 1
В разделе Control panel — System and security — System — Allow remote access выключить опцию «Allow connections only from computers running Remote Desktop with NLA (recommended)».
Способ 2
Открыть Group Policy Object Editor (gpedit.msc в командной строке), перейти в раздел Computer Configuration — Administrative Templates — Windows Components — Remote Desktop Services — Remote Desktop Session Host — Security и выставить значение Disabled параметру «Require user authentication for remote connections by using NLA».
После этого можно подключаться заново, указав параметр /sec:tls
$ xfreerdp /sec:tls /v:192.168.0.100:3389 /f /u:userlogin /p:userpassword +clipboard
Способ 3 (без отключения nla)
Если вы используете пакет freerdp2-x11 или более свежий, достаточно указать параметр /sec:nla, при этом нужно корректно указать доменные данные для входа (в одноранговой сети используем вместо имени домена имя компа):
xfreerdp /sec:nla /f /u:userlogin@domain /p:userpassword /v:ip-address