![Windows 10 Pro 作为具有 SSL 证书的 RDP 主机。怎么做?](https://linux22.com/image/760610/Windows%2010%20Pro%20%E4%BD%9C%E4%B8%BA%E5%85%B7%E6%9C%89%20SSL%20%E8%AF%81%E4%B9%A6%E7%9A%84%20RDP%20%E4%B8%BB%E6%9C%BA%E3%80%82%E6%80%8E%E4%B9%88%E5%81%9A%EF%BC%9F.png)
我已经耗尽耐心寻找如何向我的 Windows 10 Pro 机器添加 SSL 证书,以便当我从其他地方连接时,不会收到证书错误。
到目前为止,我遇到的每个指南最终都适用于 Windows Server。
我尝试过的:
我单击开始菜单,然后输入certlm.msc
并按 Enter。
我将购买的证书放在主机Personal > Certificates
文件夹和Remote Desktop > Certificate Service
文件夹中。
当我尝试从另一台机器重新连接时,仍然收到证书信任错误。
有人可以帮忙吗?
再次强调,我尝试在 Windows 10 Pro 机器上完成此操作,而不是 Windows Server。
答案1
在客户端上,适用相同的规则。您必须将证书分配给 RDS 配置。例如,使用 PowerShell:
$path = (Get-WmiObject -class "Win32_TSGeneralSetting" -Namespace root\cimv2\terminalservices -Filter "TerminalName='RDP-tcp'").__path
Set-WmiInstance -Path $path -argument @{SSLCertificateSHA1Hash="THUMBPRINT"}
其中THUMBPRINT
是您的证书的指纹。这些命令必须在提升的 shell 中执行。
答案2
Windows 11 Pro - 远程桌面 SSL 证书设置
根据文章:远程桌面侦听器证书配置和信号
买
remote.example.com
RapidSSL® DV 证书供电Digicert®从SSL 商店使用OpenSSL生成RSA 私钥&证书签名请求为了
remote.example.com
openssl req -new -newkey rsa:4096 -nodes \ -out /home/user1/remote_example_com_csr.txt \ -keyout /home/user1/remote_example_com.key \ -subj "/C=US/ST=Utah/L=Salt Lake City/O=Example, Inc./CN=remote.example.com"
使用证书签名请求
remote_example_com_csr.txt
要生成的文件SSL 证书在SSL 商店验证域名所有权使用 DNS 记录:
2.1 创建A记录在哪里主持人=
remote
.example.com和价值=YOUR_PUBLIC_IPV4_ADDRESS
2.2 创建TXT记录在哪里主持人=
remote
和价值=hs8s67k8g2y57ptjtt34rfhn0wl7ys6f
。这是由SSL 商店用于基于 DNS 的域验证。使用OpenSSL到合并 SSL 证书变成PKCS #12文件。
openssl pkcs12 -export \ -out /home/user1/remote_example_com.pfx \ -inkey /home/user1/remote_example_com.key \ -in /home/user1/remote_example_com.crt \ -certfile /home/user1/certificate.bundle
笔记:系统将提示您输入导出/导入密码。该密码可以留空,但出于显而易见的原因,不应留空。
Enter Export Password: Verifying - Enter Export Password:
文件
remote_example_com.pfx
是保存到安全位置。用于
certlm.msc
导入电脑端:PCKS#12文件到个人的>证书店铺。笔记:在运行
wmic
命令之前,您要使用的证书必须是进口到本地机器的个人证书存储。如果您不导入证书,您将收到无效的参数错误。开始菜单 > 输入
certlm.msc
并按 Enter。导航到个人 > 证书存储。
右键单击 > 所有任务 > 导入...
按照向导导入 SSL 证书。
双击 SSL 证书,点击细节选项卡以查找证书指纹场地。
将指纹复制到记事本。
b363f15095137d374f78d11913a186c5c3ddd44c
使用命令提示符作为行政人员,将以下
wmic
命令与您在步骤 13 中获得的指纹值一起运行。wmic /namespace:\\root\cimv2\TerminalServices PATH Win32_TSGeneralSetting Set SSLCertificateSHA1Hash="b363f15095137d374f78d11913a186c5c3ddd44c"
如果成功,将显示以下输出。
Updating property(s) of... Property(s) update successful.
远程桌面协议 (.rdp) 文件
根据文章:支持的远程桌面 RDP 文件设置
根据文章:移动通信系统
创建与远程桌面会话主机服务器或其他远程计算机的连接并编辑现有的远程桌面连接 (.rdp) 配置文件。
开设新用于编辑的远程桌面连接:
mstsc
从命令行连接直接港口 25301
mstsc /v:remote.example.com:25301
笔记:一般来说,您的 DNS 托管提供商不允许使用 DNS 设置自定义端口A为 创建的记录
remote.example.com
。为了解决此限制,转发端口在您的设置中无线路由器。
参见维基百科TCP 和 UDP 端口号列表确保你 选择一个不会发生冲突的端口与任何现有服务。不要使用默认端口
3389
作为外部端口。
编辑现有的 remote_example_com.rdp
文件
mstsc /edit remote_example_com.rdp
RDP 签名
根据文章:信号
- 对远程桌面协议
.rdp
文件进行数字签名。
rdpsign /sha256 f6f6622c5f0a8ad0b7fabf0f37e32bc4922172fb remote_example_com.rdp
哈希值代表 SHA1 证书指纹,没有任何空格。