Использование сертификата CA для подключения к удаленному рабочему столу

22

Я подключаюсь через Интернет к удаленному Windows Server 2012 R2 через Remote Desktop Connection для административных нужд. Это один веб-сервер и сервер базы данных без рекламы и т. Д.

Я не говорю о службах удаленных рабочих столов / сервере терминалов, просто о простой функции удаленного рабочего стола, которая активируется через Панель управления> Система> Параметры удаленного управления. Сервер автоматически создаст самозаверяющий сертификат для шифрования соединения, а клиент подключения к удаленному рабочему столу покажет ошибку сертификата из-за ненадежного центра сертификации.

У меня есть сертификат, подписанный центром сертификации, выданный для полного доменного имени этого сервера и действительный для аутентификации сервера (я использую его для удаленного доступа к серверу MSSQL).

Я хотел бы использовать это для соединений RDP тоже. Все учебные пособия (например, этот вопрос ), которые я нашел до сих пор, описывают процесс для служб удаленных рабочих столов или службы терминалов. Я нашел этот вопрос с указанием wmicкоманды для установки сертификата, но я не хочу пытаться устанавливать некоторые значения, когда я не знаю, что именно я делаю. Что я сделал, так это добавил его в сертификаты удаленного рабочего стола на локальном компьютере, где также находится автоматически созданная самоподписанная подпись.

Это возможно? Если да, что мне делать?

Благодарность!

Marce
источник

Ответы:

26

Вы нашли вопрос, который упоминает использование wmicдля установки значения отпечатка сертификата, должно работать без установки каких-либо дополнительных функций. Я задал и ответил на аналогичный вопрос здесь, немного подробнее. Он также имеет эквивалент PowerShell для команды wmic. Но я добавлю еще несколько объяснений здесь.

Поскольку вы уже используете этот сертификат для MSSQL SSL, я предполагаю, что он уже установлен в одном из хранилищ сертификатов в системе. Если вы установили его в контексте учетной записи службы, под которой работает MSSQL, вам также может понадобиться установить ее в хранилище «Личный» или «Удаленный рабочий стол» для «Локального компьютера».
введите описание изображения здесь

Как только он появится, вам просто нужно обновить SSLCertificateSHA1Hashзначение, Win32_TSGeneralSettingчтобы указать на него, используя одну из команд в моем предыдущем вопросе .

Если вы хотите проверить, какое значение в настоящее время установлено, и сравнить его с самозаверяющим сертификатом, вы можете изменить wmicкоманду на следующую. Вы также можете использовать это для проверки правильности нового значения отпечатка, которое вы пытались установить.

wmic /namespace:\\root\cimv2\TerminalServices PATH Win32_TSGeneralSetting Get SSLCertificateSHA1Hash

Вывод должен выглядеть примерно так:
введите описание изображения здесь

Райан Болджер
источник
2
Благодарность! это сработало так, как я обаял, не знаю, почему я не нашел ваш первоначальный д / а. У меня недостаточно репутации, чтобы поднять голос, но я буду держать его в отставании, пока он не заработает.
Марс
По крайней мере, в Windows 7 нет необходимости перемещать сертификат в хранилище «Удаленный рабочий стол». «Личный» магазин сертификатов работает просто отлично.
Андре Бори
Из какого приложения это скриншот с красным значком панели инструментов в левом верхнем углу?
Кайл Хумфельд
Это просто стандартный Windows mmc.exe (Microsoft Management Console), который является общим хост-приложением для нескольких мини-приложений, написанных с использованием тех же конструкций пользовательского интерфейса, называемых оснастками. Оснастка, загруженная на снимке экрана, является оснасткой «Сертификаты».
Райан Болджер
2

Руководства, относящиеся к службам удаленных рабочих столов / службам терминалов, также применимы к серверу, на котором запущена служба RDP по умолчанию - это просто более ограниченный экземпляр той же службы.

В этих руководствах вам могут не хватать инструментов для администрирования сервиса - вам нужно установить инструменты администрирования ролей для служб удаленных рабочих столов, чтобы иметь возможность управлять сервисом.

Install-WindowsFeature -Name RSAT-RDS-Tools
Шейн Мэдден
источник
1
Поскольку это 2012R2, он также может использовать командлеты Powershell для управления своими сертификатами. Set-RDCertificate , Get-RDCertificate, Add-RDCertificate и т. Д. Он не должен нуждаться в инструментах администратора ролей, чтобы настроить его с помощью powershell.
Зоредаче
@Zoredache Спасибо за вашу подсказку. Я попытался Get-RDCertificateначать с простого, но получил следующую ошибку: A Remote Desktop Services deployment does not exist on <FQDN>. This operation can be performed after creating a deployment.Боюсь, мне нужно хотя бы что-то установить, верно? Должен ли я продолжить с предложенными функциями @ShaneMadden?
Марс
Хм, я на самом деле не пробовал. Я только что попробовал запустить его на сервере 2012R2, который я полностью настроил как Desktop Services для тестирования. Я получил ту же ошибку, так что теперь я в замешательстве, так как это должно было сработать.
Зоредаче
@Zoredache Так что это не я, по крайней мере ... Хорошо, я попробую со Install-WindowsFeature -Name RSAT-RDS-Toolsследующим и доложу .
Марс
1
@ShaneMadden Вы указываете в правильном направлении, но на самом деле требуется весь пакет. Может быть, вы могли бы обновить свой ответ, чтобы отразить это для тех, кто придет.
Марс