10

我试图忽略远程桌面连接上的证书警告 - 图像中的那个:

在此处输入图像描述

到目前为止,我发现当我选中“不再询问”复选框时,它会在此处生成注册表项:

HKCU:\Software\Microsoft\终端服务器客户端\服务器

使用服务器名称和键名 CertHash 生成一条新记录,其中包含特定于机器的值。机器的密钥是相同的 - 如果我删除它并选中复选框,则会再次生成相同的值。万一我重新创建虚拟机有一个新的价值,所以我认为它是特定于机器的东西。

有人可以告诉我这个哈希是如何生成的,以便我可以从命令行填充密钥吗?添加证书不是一个选项,机器会经常重新生成,所以我需要一个选项来自动忽略它,因为我需要将用户连接到机器并在其中运行一些程序。

4

2 回答 2

19

我知道这是一个老问题。但这可能会帮助正在寻找相同解决方案的人。

方法一

您可以覆盖所有 RDP 连接的证书检查(使用它需要您自担风险)

只需添加一个新的注册表项,如下所示。

reg add "HKEY_CURRENT_USER\Software\Microsoft\Terminal Server Client" /v "AuthenticationLevelOverride" /t "REG_DWORD" /d 0 /f

方法二

考虑到您是否在远程计算机上拥有管理员权限,您实际上可以使用以下 wmic 命令从远程计算机获取 crethash 值。因此,您可以在启动 mstsc 并将此值添加到注册表之前制作一个小批处理文件来获取此值。我没有包含完整的批处理文件,但这就是想法。

wmic /node:Testserver /namespace:\\root\CIMV2\TerminalServices PATH Win32_TSGeneralSetting get SSLCertificateSHA1Hash
于 2015-05-01T09:46:14.980 回答
0

请参阅此链接

运行 Microsoft 管理控制台 (mmc) 并添加证书管理单元(如果您还没有用于要连接的计算机)。在证书中,找到远程桌面文件夹,然后打开该文件夹中的证书。在详细信息选项卡上,向下滚动以找到指纹值 - 这是您应该复制到注册表的值。

于 2014-05-29T19:55:20.097 回答