Я установил Windows Server 2016 для небольшой компании, поэтому мне не нужен контроллер домена в этой установке, а для RDS мне нужны только роли RD Licensing и RD Session Host. Но только с этими ролями нет шлюза удаленного рабочего стола, который используется во многих руководствах для установки сертификата SSL на терминальный сервер (например, здесь: https://ryanmangansitblog.com/2013/03/27/deploying-remote-desktop-gateway-rds-2012/).
Итак, в заключение, у меня просто нет интерфейса шлюза удаленного рабочего стола для установки сертификата SSL.
Есть ли способ решить эту проблему и установить сертификат SSL на мой RDS?
Наконец-то я нашел решение!
openssl pkcs12 -export -out certificate.pfx -inkey privkey.pem -in cert.pem -certfile chain.pem
(Команда Linux) если вы выдали сертификат с помощью acme.sh, ваша команда должна выглядеть так: openssl pkcs12 -export -out certificate.pfx -inkey yourdomain.com.key -in yourdomain.com.cer -certfile fullchain.cer
Get-ChildItem "Cert:\LocalMachine\My"
$PATH = (Get-WmiObject -class "Win32_TSGeneralSetting" -Namespace root\cimv2\terminalservices)
Set-WmiInstance -Path $PATH -argument @{SSLCertificateSHA1Hash="thumbprint"}
Вышеупомянутый «отпечаток пальца» - это значение, которое вы отметили ранее, просто вставьте его между «.Запустите certlm.msc и импортируйте сертификат в хранилище «Личные -> Сертификаты». После его установки запустите диспетчер серверов и выберите слева значок роли удаленного рабочего стола. щелкните раскрывающийся список «Задачи» в разделе «Обзор развертывания», затем щелкните «Изменить свойства развертывания» в появившемся контекстном меню. Вы сможете назначить импортированный сертификат ролям, нажав кнопку «Выбрать существующий сертификат».
Вам все равно следует настроить параметры сертификата независимо от того, установлена ли у вас роль шлюза.
Частичное решение с помощью сообщества MS я нашел там: https://www.risual.com/2014/03/10/setting-up-a-2012-r2-rds-gateway-for-a-workgroup/. Резюме к этой статье: чтобы сервер лицензий выдавал сертификаты только на Интернет-адрес, такой как srv.example.com, а не только "пример" (имя компьютера), необходимо добавить DNS-суффикс в свойствах компьютера:
Кстати, проблема все еще существует в том, что сервер для подключений RDP по-прежнему использует самовыданный сертификат (даже если я удаляю его и оставляю только сертификат let'sencrypt). При каждом перезапуске служб RD он выдает новый вместо моего. Как я могу использовать его для шифрования сертификата?
Конечно, я знаю, что могу экспортировать открытый ключ для самогенерируемого сертификата и добавить его на компьютеры сотрудников, но, на мой взгляд, это не лучшее решение.