我试图忽略远程桌面连接上的证书警告 - 图像中的那个:
到目前为止,我发现当我选中“不再询问”复选框时,它会在此处生成注册表项:
HKCU:\ Software \ Microsoft \ Terminal Server Client \ Servers
生成一个新记录,其中包含服务器名称和密钥名称CertHash,其中包含特定于计算机的值。机器的关键是相同的 - 如果我删除它并选中复选框,则会再次生成相同的值。如果我重新创建虚拟机,则会有一个新值,因此我认为它是特定于机器的。
有人能告诉我这个哈希是如何生成的,所以我可以从命令行填充密钥?添加证书不是一个选项,机器将经常重新生成,所以我需要一个选项来自动忽略它,因为我需要将用户连接到机器并在其中运行一些程序。
答案 0 :(得分:13)
我知道这是一个老问题。但这可能有助于寻找相同解决方案的人。
方法1
您可能会越过证书检查所有RDP连接(使用它需要您自担风险)
只需添加一个新的注册表项,如下所示。
reg add "HKEY_CURRENT_USER\Software\Microsoft\Terminal Server Client" /v "AuthenticationLevelOverride" /t "REG_DWORD" /d 0 /f
方法2
考虑到您是否拥有远程计算机的管理员权限,您实际上可以使用以下wmic命令从远程计算机获取crethash值。因此,您可以在启动mstsc之前创建一个小批处理文件来获取此值,并在注册表中添加此值。我没有包含完整的批处理文件,但这就是想法。
wmic /node:Testserver /namespace:\\root\CIMV2\TerminalServices PATH Win32_TSGeneralSetting get SSLCertificateSHA1Hash
答案 1 :(得分:0)
请参阅this link。
运行Microsoft管理控制台(mmc)并添加“证书”管理单元(如果您尚未为要连接的计算机提供该管理单元)。在“证书”中,找到“远程桌面”文件夹,然后在该文件夹中打开证书。在“详细信息”选项卡上,向下滚动以查找“指纹”值 - 这是您应该复制到注册表的值。