如何解决远程桌面服务中的证书配置问题?


32

我正在设置一个远程桌面服务场,并且在配置证书以供使用时遇到麻烦。我看到的问题的演示可以在步骤4中找到。

在这一点上,我确信用户界面存在问题,并且正在寻找解决方法。有什么方法可以在远程桌面服务中配置证书,以使设置保留并反映在GUI中?如果没有,我有什么办法可以验证设置是否正确?

步骤#1-创建要使用的证书。

我已经配置了用于RD Web访问的证书。证书与RD连接代理上的证书MMC一起存储,我正在从该计算机上配置服务器场。 证书

通过让RD Web访问生成其自己的证书,我发现以下属性是必需的:

  • 增强的密钥用法
    • 服务器认证
    • 客户端认证
      • 这可能不是必需的,但自签名证书包括它。
  • 按键用法
    • 电子签名
    • 关键协议
  • 使用者替代名称
    • DNS名称= domain.com

绕过自签名证书生成

快速绕道,我能够解决使用Powershell创建自签名证书的问题。New-RDCertificate cmdlet 的文档提供以下示例:

PS C:\> $password = ConvertTo-SecureString -string "password" -asplaintext -force
New-RDCertificate -Role RDWebAccess -DnsName "test-rdwa.contoso.com" -Password $password -ConnectionBroker rdcb.contoso.com -ExportPath "c:\test-rdwa.pfx"

将其键入外壳程序将导致错误消息,提示Get-Server找不到函数。在使用之前New-RDCertificate,必须使用导入RemoteDesktop模块Import-Module RemoteDesktop

步骤#2-观察开箱即用的行为

第一次访问“部署属性”对话框,方法是导航到服务器管理器->远程桌面服务->集合,然后从“集合”分组的“任务”下拉列表中选择“编辑部署属性”,您将看到以下屏幕: 在此处输入图片说明

该窗口具有误导性,因为该level字段被列为“未配置”。如果我正确理解,则所有三个角色服务都在使用自签名证书。对于RD Web访问角色,可以通过访问以下网站进行验证: 证书错误

所使用的证书也出现在证书MMC中: 显示RD Web访问证书的证书MMC

步骤#3-分配新证书

部署属性对话框将允许我选择现有证书。证书必须放置在“个人”证书存储中的本地计算机“证书MMC”中。私钥将需要可导出,并且您需要提供密码。我将证书临时导出到temp.pfx使用密码命名的文件中,然后从那里将其导入到远程桌面服务中。

完成此操作后,GUI将指示已准备好接受新配置。 准备接受证书

单击“应用”按钮后,GUI指示成功。 在此处输入图片说明

可以通过第二次访问RD Web访问网站进行验证。没有证书错误。 在此处输入图片说明

步骤#4-GUI无法维持其状态

如果关闭并重新打开GUI,所有这些设置似乎都将丢失。 设置丢失

实际上,我配置的证书仍在使用。我能够继续访问RD Web访问站点,而没有任何证书错误。

奇怪的是,如果我使用“创建新证书...”按钮来生成自签名证书,则该窗口将更新为“不受信任”级别。然后,将通过打开和关闭“部署属性”对话框来维护此设置。

我有什么办法可以使设置保持不变?当GUI声称我尚未完全配置证书时,我感觉有些不对劲。


7
这是一个深思熟虑的问题。荣誉
Ryan Ries

很好的问题;太糟糕了不能分配更多+ 1点的..不具备实验室测试,但发现了一些很好的联系:technet.microsoft.com/en-us/library/cc730805.aspxtechnet.microsoft.com/en-us/library/cc725949.aspx youtube.com/watch?v=D6UBsuCuJs8rivald.blogspot.com/2011/06/...另外:blog.kristinlgriffin.com/2010/07/...
Lizz

迈克尔还好运吗?
Lizz

@Lizz据我所知,客户端正在接受我们用于RD Web访问角色服务的证书。即使实际上使用我指定的证书,用户界面仍会报告“未配置”。
迈克尔·斯蒂尔

像你的模糊。不是传统的那种。
StackExchange用户

Answers:


2

昨天我检查了我们的服务器场,发现它是Windows 2008 ...您的是2012。我敢肯定有很大的不同,但希望我的信息对您有所帮助。

打开MMC->证书->计算机帐户我在“个人/证书”文件夹中看到2个证书:

  • 自签名证书(同一主题的颁发者)
  • 我们的域名CA颁发的证书

自签名的详细信息中有错误,您的证书也有同样的错误吗? 错误

要解决此错误,只需将证书从“个人/证书”子文件夹复制并粘贴到“受信任的根证书颁发机构/证书”。通过该步骤,同一证书不会出错。 确定证书

在那之后,只有两个地方可以配置我发现的证书(在RDS Windows 2008中)。

我们的RemoteApp Manager显示: 主要

数字签名设置: DSS

并在“ RD会话主机配置”中的连接设置中: RDSHC

最后,如果我没记错的话,我们通过检查所有选项(事件查看器)来解决它,确保没有证书错误,并填充一些本地组,并通过安全策略对其进行访问...

祝好运。

- - 更新 - -

切记在“受信任的根证书颁发机构/证书”中导入用户配置文件,颁发者CA或证书(如果是自签名的),这样客户端就不会出现任何证书错误。这一点在我们的系统中很重要。


感谢您的信息。我们正在使用由自己的CA签名的证书。我遇到的问题是Windows Server 2012特有的。GUI声称证书配置不正确,甚至根本没有配置。
迈克尔·斯蒂尔

2

我遇到了同样的问题,并找到了解决方法。这就是创建证书模板和请求证书的全部方法。
解决方法是:

  1. 通过复制计算机模板来创建证书模板
  2. 编辑新证书和这两个重要的mod 2a。允许导出私钥2b。在“使用者名称”选项卡上,选择“在请求中提供”单选按钮
  3. 发布新模板
  4. 创建一个新请求并选择新模板
  5. 为RDWeb添加通用名称和DNS。(我添加了所有RD Farm服务器)

例:

CN = rdweb.domain.local

CN = rdcb.domain.local

CN = rdsh1.domain.local

CN = rdsh2.domain.local

CN = rdsh3.domain.local

rdweb.domain.local

rdcb.domain.local

rdsh1.domain.local

rdsh2.domain.local

rdsh3.domain.local

  1. 将rdweb.domain.local添加到友好名称中,然后生成证书
  2. 用私有导出证书
  3. 导入RD部署控制台。

完成所有操作,级别将为“受信任”,状态为“确定”

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.