Проблема подключения xFreeRDP

Проблема подключения 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 panelSystem and securitySystemAllow remote access выключить опцию «Allow connections only from computers running Remote Desktop with NLA (recommended)».

nla1

Способ 2

Открыть Group Policy Object Editor (gpedit.msc в командной строке), перейти в раздел Computer ConfigurationAdministrative TemplatesWindows ComponentsRemote Desktop ServicesRemote Desktop Session HostSecurity и выставить значение Disabled параметру «Require user authentication for remote connections by using NLA».

nla2

После этого можно подключаться заново, указав параметр /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