Задача: разобрать как на Lubuntu 22.04 Desktop
настроить rdp (и RDP+NLA)
подключение к Windows Server 2012 R2 Std
На домашней системе Lubuntu 22.04 Desktop
, для работы и в своих проектах я использую менеджер удаленного подключения к системам — имя ему remmina.
С этим инструментом я уже давно, наверное, как только выбрал дистрибутив, на котором строю всю системно административную часть.
Remmina
— клиент удаленного рабочего стола c поддержкой протоколов RDP, SFTP, SPICE, SSH, VNC, Web, X2Go,
что позволяет подключаться к рабочим столам как Windows
, так и Linux.
, а также и к прочим системам, где используется стандартный сервер VNC.
Решил проработать взаимодействие с системами Windows
через протокол RDP
дабы не удаленно оказывать помощь с ноутбука Lenovo E555
с установленной Ubuntu 18.04 Server
, а через стационарную с осью Ubuntu 22.04
. Может что изменилось — обычно так и есть, ведь любят же разработчики что-то усовершенствовать, но при этом ломать уже устоявшееся.
Итак, сперва все отрабатываю на Lubuntu 22.04 Desktop
которая установлена внутри моего тестового полигона на базе Debian 10 + Proxmox 6.4-13
Шаг №1:
Разворачиваю виртуальную машину с осью SW_DVD9_Windows_Svr_Std_and_DataCtr_2012_R2_64Bit_English_-4_MLF_X19-82891.ISO
в качестве возможности подключения оставляю взаимодействие через RDP + NLA
Win + X - Control Panel - View by: Category -> Small icons - System - Advanced system settings
— вкладка Remote
и выставлены настройки:
Allow remote connection to this computer: отмечаю
Allow connections only from computers running Remote Desktop with Network Level Authentication (recommended)
Шаг №2:
На Lubuntu 22.04 Desktop
устанавливаю менеджер удаленных подключений к системам — remmina
из дефолтных репозитариев текущей системы:
ekzorchik@ekzphome:~$ apt-cache show remmina | grep Version Version: 1.4.25+dfsg-1 ekzorchik@ekzphome:~$ ekzorchik@ekzphome:~$ sudo apt-get install -y remmina-*
Шаг №3:
Запускаю менеджер удаленных подключений Remmina:
нажимаю клавишу Win - Internet - Remmina
Шаг №4:
Создаю RDP
подключения к Windows Server 2012 R2 Std
, где подключение только, как RDP + NLA:
нажимаю + (New connection profile)
Name: server2012r2rdpnla
Protocol: RDP - Remote Desktop Protocol
вкладка Basic
Server: 172.35.35.28
Username: ekzorchik
Password: 712mbddr@
Domain: WORKGROUP
Resolution: выбираю Use client resolution
Color depth: True color (24 bpp)
вкладка Advanced
Quality: Poor (fastest)
Security protocol negotiation: NLA protocol security
Gateway transport type: HTTP
и нажимаю Save
Шаг №5:
Проверяю, инициировав созданное подключение под именем: server2012r2rdpnla
На заметку: Созданное и сохраненное подключения располагается по пути
ekzorchik@ekzphome:~$ ls .local/share/remmina/ group_rdp_server2012rdpnla_172-35-35-28.remmina ekzorchik@ekzphome:~$
но увы получаю ошибку:
Could not connect to the RDP server: "172.35.35.28" via TLS.
Начинаю разбираться, закрываю клиент Remmina.
в логах на Windows Server 2012 R2 Std - Computer Management - System Tools - Event Viewer - Windows Logs - System
Event ID: 36874
Description: An TLS 1.2 connection request was received from a remote client application, but none of the cipher suites supported by the client application are supported by the server. The SSL connection request has failed.
Event ID: 36888
Description: A fatal alert was generated and sent to the remote endpoint. This may result in termination of the connection. The TLS protocol defined fatal error code is 40. The Windows SChannel error state is 1205.
Пока разбираюсь.
Шаг №6:
Попробую установить клиент Remmina
не через дефолтные репозитарии а через подключаемые, но сначала удаляю пакет Remmina
и все относящиеся к нему конфигурационные файлы:
ekzorchik@ekzphome:~$ sudo apt-get remove -y --purge remmina-* ekzorchik@ekzphome:~$ rm -Rf ~/.config/remmina/ ekzorchik@ekzphome:~$ rm -Rf ~/.cache/remmina/ ekzorchik@ekzphome:~$ rm -Rf ~/.local/share/remmina/
Шаг №7:
Подключаю репозитарий и устанавливаю из него пакет Remmina:
ekzorchik@ekzphome:~$ sudo apt-add-repository ppa:remmina-ppa-team/remmina-next ekzorchik@ekzphome:~$ apt-cache show remmina | grep Version Version: 1.4.27+ppa202206201051.r3b9cc80f8.d84ef65add~ubuntu22.04.1 Version: 1.4.25+dfsg-1 ekzorchik@ekzphome:~$ ekzorchik@ekzphome:~$ sudo apt-get install -y remmina-* ekzorchik@ekzphome:~$ dpkg -l | grep remmina- ii remmina-common 1.4.27+ppa202206201051.r3b9cc80f8.d84ef65add~ubuntu22.04.1 all Common files for Remmina ii remmina-dev:amd64 1.4.27+ppa202206201051.r3b9cc80f8.d84ef65add~ubuntu22.04.1 amd64 Headers for Remmina ii remmina-plugin-exec:amd64 1.4.27+ppa202206201051.r3b9cc80f8.d84ef65add~ubuntu22.04.1 amd64 EXEC plugin for Remmina ii remmina-plugin-kiosk:amd64 1.4.27+ppa202206201051.r3b9cc80f8.d84ef65add~ubuntu22.04.1 amd64 Kiosk plugin for Remmina ii remmina-plugin-kwallet:amd64 1.4.27+ppa202206201051.r3b9cc80f8.d84ef65add~ubuntu22.04.1 amd64 KWallet plugin for Remmina ii remmina-plugin-python:amd64 1.4.27+ppa202206201051.r3b9cc80f8.d84ef65add~ubuntu22.04.1 amd64 Python support for Remmina ii remmina-plugin-rdp:amd64 1.4.27+ppa202206201051.r3b9cc80f8.d84ef65add~ubuntu22.04.1 amd64 RDP plugin for Remmina ii remmina-plugin-secret:amd64 1.4.27+ppa202206201051.r3b9cc80f8.d84ef65add~ubuntu22.04.1 amd64 Secret plugin for Remmina ii remmina-plugin-spice:amd64 1.4.27+ppa202206201051.r3b9cc80f8.d84ef65add~ubuntu22.04.1 amd64 Spice plugin for Remmina ii remmina-plugin-vnc:amd64 1.4.27+ppa202206201051.r3b9cc80f8.d84ef65add~ubuntu22.04.1 amd64 VNC plugin for Remmina ii remmina-plugin-www:amd64 1.4.27+ppa202206201051.r3b9cc80f8.d84ef65add~ubuntu22.04.1 amd64 WWW plugin for Remmina ii remmina-plugin-x2go:amd64 1.4.27+ppa202206201051.r3b9cc80f8.d84ef65add~ubuntu22.04.1 amd64 X2Go plugin for Remmina ekzorchik@ekzphome:~$
Шаг №8:
Есть задумка сохранить себе установленные пакеты Remmina:
На заметку: от 15.12.2022
— вообще не работает переносимость, т.к. это не только пакеты Remmina
но еще и целая простыня. Даже бекап всех пакетов через apt-clone
не восстанавливает на новой установленные пакеты Remmina
. Разбираюсь как склонировать себе репозитарий
ekzorchik@ekzphome:~$ sudo apt-get install -y dpkg-repack ekzorchik@ekzphome:~$ dpkg-repack remmina-common dpkg-repack: error: this program should be run as root (or you could use fakeroot -u); aborting ekzorchik@ekzphome:~$ sudo dpkg-repack remmina-common dpkg-deb: building package 'remmina-common' in './remmina-common_1.4.27+ppa202206201051.r3b9cc80f8.d84ef65add~ubuntu22.04.1_all.deb'. ekzorchik@ekzphome:~$ sudo dpkg-repack remmina-dev dpkg-deb: building package 'remmina-dev' in './remmina-dev_1.4.27+ppa202206201051.r3b9cc80f8.d84ef65add~ubuntu22.04.1_amd64.deb'. ekzorchik@ekzphome:~$ sudo dpkg-repack remmina-plugin-exec dpkg-deb: building package 'remmina-plugin-exec' in './remmina-plugin-exec_1.4.27+ppa202206201051.r3b9cc80f8.d84ef65add~ubuntu22.04.1_amd64.deb'. ekzorchik@ekzphome:~$ sudo dpkg-repack remmina-plugin-kiosk dpkg-deb: building package 'remmina-plugin-kiosk' in './remmina-plugin-kiosk_1.4.27+ppa202206201051.r3b9cc80f8.d84ef65add~ubuntu22.04.1_amd64.deb'. ekzorchik@ekzphome:~$ sudo dpkg-repack remmina-plugin-kwallet dpkg-deb: building package 'remmina-plugin-kwallet' in './remmina-plugin-kwallet_1.4.27+ppa202206201051.r3b9cc80f8.d84ef65add~ubuntu22.04.1_amd64.deb'. ekzorchik@ekzphome:~$ sudo dpkg-repack remmina-plugin-python dpkg-deb: building package 'remmina-plugin-python' in './remmina-plugin-python_1.4.27+ppa202206201051.r3b9cc80f8.d84ef65add~ubuntu22.04.1_amd64.deb'. ekzorchik@ekzphome:~$ sudo dpkg-repack remmina-plugin-rdp dpkg-deb: building package 'remmina-plugin-rdp' in './remmina-plugin-rdp_1.4.27+ppa202206201051.r3b9cc80f8.d84ef65add~ubuntu22.04.1_amd64.deb'. ekzorchik@ekzphome:~$ sudo dpkg-repack remmina-plugin-secret dpkg-deb: building package 'remmina-plugin-secret' in './remmina-plugin-secret_1.4.27+ppa202206201051.r3b9cc80f8.d84ef65add~ubuntu22.04.1_amd64.deb'. ekzorchik@ekzphome:~$ sudo dpkg-repack remmina-plugin-spice dpkg-deb: building package 'remmina-plugin-spice' in './remmina-plugin-spice_1.4.27+ppa202206201051.r3b9cc80f8.d84ef65add~ubuntu22.04.1_amd64.deb'. ekzorchik@ekzphome:~$ sudo dpkg-repack remmina-plugin-vnc dpkg-deb: building package 'remmina-plugin-vnc' in './remmina-plugin-vnc_1.4.27+ppa202206201051.r3b9cc80f8.d84ef65add~ubuntu22.04.1_amd64.deb'. ekzorchik@ekzphome:~$ sudo dpkg-repack remmina-plugin-www dpkg-deb: building package 'remmina-plugin-www' in './remmina-plugin-www_1.4.27+ppa202206201051.r3b9cc80f8.d84ef65add~ubuntu22.04.1_amd64.deb'. ekzorchik@ekzphome:~$ sudo dpkg-repack remmina-plugin-x2go dpkg-deb: building package 'remmina-plugin-x2go' in './remmina-plugin-x2go_1.4.27+ppa202206201051.r3b9cc80f8.d84ef65add~ubuntu22.04.1_amd64.deb'. ekzorchik@ekzphome:~$
Получилось 12
пакетов
ekzorchik@ekzphome:~$ ls -l *.deb | wc -l 12
их я сохраняю себе в репозитарий Mercurial
ekzorchik@ekzphome:~$ tar cf remmina_1_4_27.tar remmina-*.deb
Итого теперь архив с deb
пакетам у меня в домашнем репозитарии связки Mercurial + Web:
ekzorchik@ekzphome:~$ hg clone http://ekzorchik:712mbddr@@/172.35.35.8/hg/ubuntu destination directory: ubuntu requesting all changes adding changesets adding manifests adding file changes added 1 changesets with 1 changes to 1 files new changesets fd56e03c52ea updating to branch default 1 files updated, 0 files merged, 0 files removed, 0 files unresolved ekzorchik@ekzphome:~$ ls -l ubuntu/ .hg/ ubuntu2204/ ekzorchik@ekzphome:~$ ls -l ubuntu/ubuntu2204/remmina/remmina_1_4_27.tar
Шаг №9:
Создаю RDP+NLA
подключение через клиента Remmina
установленный посредством подключаемого репозитария:
Win - Internet - Remmina
в первый раз запуска
Fetch news from remmina.org: отменяю переключатель
Use as default remote desktop client: нажимаю Apply
нажимаю + (New connection profile)
Name: server2012r2rdpnla
Protocol: RDP - Remote Desktop Protocol
вкладка Basic
Server: 172.35.35.28
Username: ekzorchik
Password: 712mbddr@
Domain: WORKGROUP
Resolution: выбираю Use client resolution
Color depth: True color (24 bpp)
вкладка Advanced
Quality: Poor (fastest)
Security protocol negotiation: NLA protocol security
Gateway transport type: HTTP
TLS Security Level: 0 - Windows 7 compatible
и нажимаю Save
Шаг №10:
Инициирую подключение через созданное соединение к Windows Server 2012 R2 RDP + NLA:
через правый клик мышью на созданном подключении с именем server2012r2rdpnla
выбираю Connect
Подтверждаю сертификат удаленной машины
Certificate details:
Subject: CN=srv-rdphome
Issuer: CN=srv-rdphome
Fingerprint: 04:55:e1:3d:a3:8e:d2:d4:21:82:5e:8e:ac:9d:18:e6:89:67:29:4e:8e:bc:84:eb:1e:a2:d8:76:03:b2:59:56
Accept certificate? нажимаю Yes
и я успешно подключился
На заметку: Любое успешное подключение к системам через NLA
(я так думаю) отражается в списке сохраняемых отпечатков. Иногда если подключение не идет, можно попробовать удалить отпечаток и попробовать заново.
ekzorchik@ekzphome:~$ cat ~/.config/freerdp/known_hosts2 172.35.35.28 3389 04:55:e1:3d:a3:8e:d2:d4:21:82:5e:8e:ac:9d:18:e6:89:67:29:4e:8e:bc:84:eb:1e:a2:d8:76:03:b2:59:56 Q04gPSBzcnYtcmRwaG9tZQ== Q04gPSBzcnYtcmRwaG9tZQ== ekzorchik@ekzphome:~$
Шаг №11:
Если на серверной системе Windows Server 2012 R2 Std
активировано что удаленное подключение только, как RDP
(т.е. активировано Allow remote connections to this computer
), то подключение будет выглядеть так:
нажимаю + (New connection profile)
Name: server2012r2rdp
Protocol: RDP - Remote Desktop Protocol
вкладка Basic
Server: 172.35.35.28
Username: ekzorchik
Password: 712mbddr@
Domain: WORKGROUP
Resolution: выбираю Use client resolution
Color depth: True color (24 bpp)
вкладка Advanced
Quality: Poor (fastest)
Security protocol negotiation: RDP protocol security
Gateway transport type: HTTP
TLS Security Level: Default
и нажимаю Save
, затем подключаюсь, подключение проходит успешно.
Итого: Мое мнение, нужно рабочее окружение протестировать на тестовой среде, все пакеты, зависимости, настройки и только после применить их на боевое. Вот данной заметкой я разобрал, что не всегда дефолтные репозитарии дают тот функционал, который нужен для работы и нужно подключать сторонний, а сейчас у меня под мою систему Lubuntu 22.04 Desktop
есть экспортированные пакеты которые я просто скачаю и установлю на боевую систему.
На этом заметка завершена, с уважением автор блога Олло Александр aka ekzorchik.