核心是用可信SSL证书替代自签名证书以消除警告并启用TLS加密,分四步:申请/准备PFX格式证书、导入本地计算机个人存储、授予NT SERVICETermService私钥读取权限、用WMIC命令绑定证书指纹至RDP-TCP。

给 Windows Server 的 RDP 服务配置 SSL 证书,核心是让远程桌面连接使用可信证书替代系统自签名证书,从而消除“无法验证此远程计算机的身份”警告,并启用 TLS 加密通信。整个过程分四步:申请/准备证书、导入证书、分配私钥权限、绑定证书到 RDP 服务。
准备 PFX 格式证书文件
Windows RDP 只认 PKCS#12(.pfx 或 .p12)格式证书,需包含公钥证书链和私钥。若你已有 Let’s Encrypt、腾讯云、阿里云等平台签发的 PEM 格式证书(fullchain.pem + privkey.pem),用 OpenSSL 转换:
- 在 Linux 或已装 OpenSSL 的 Windows 上执行:
openssl pkcs12 -export -out rdp-cert.pfx -inkey privkey.pem -in fullchain.pem -name "RDP Certificate" - 过程中会提示设置导出密码,请牢记——后续导入时必须输入
- 不推荐用在线转换工具处理私钥;如必须,操作后立即清空浏览器缓存并删除上传记录
导入证书到本地计算机个人存储
证书必须导入到本地计算机账户的“个人 → 证书”存储中,而非当前用户:
- 按 Win + R 输入 mmc → “文件” → “添加/删除管理单元”
- 左侧选“证书”,点击“添加” → 选择“计算机账户” → “下一步” → 选“本地计算机” → “完成” → “确定”
- 展开左侧树状目录:证书(本地计算机)→ 个人 → 证书
- 右键“证书” → “所有任务” → “导入” → 浏览选中你的 rdp-cert.pfx → 输入密码 → 勾选“根据证书类型自动选择存储” → 完成
授予 Remote Desktop Services 权限访问私钥
导入后证书虽存在,但 RDP 服务默认无权读取其私钥,必须手动授权:
- 在上一步导入后的证书列表中,找到刚导入的证书,右键 → “所有任务” → “管理私钥”
- 点击“添加”,输入 NT SERVICETermService(注意大小写和反斜杠)→ 点击“检查名称”确认变蓝 → “确定”
- 在权限列表中,勾选 读取 → “确定”
- 如未看到“管理私钥”选项,先右键刷新或重启 MMC 控制台
将证书绑定到 RDP-TCP 连接
最后一步是告诉系统哪个证书用于 RDP 加密。推荐使用 WMI 命令(比改注册表更稳定、兼容性更好):
- 以管理员身份运行 PowerShell
- 执行命令获取证书指纹(SHA1):
(Get-ChildItem -Path Cert:LocalMachineMy | Where-Object {$_.Subject -match "你的域名"}).Thumbprint - 复制返回的指纹字符串(32位十六进制,无空格和冒号)
- 执行绑定命令:
wmic /namespace:\rootcimv2TerminalServices PATH Win32_TSGeneralSetting Set SSLCertificateSHA1Hash="粘贴指纹" - 返回 Value = 0 表示成功;若报错,请确认指纹是否复制完整、TermService 是否有私钥读取权限
完成后重启“Remote Desktop Services”服务(或重启服务器),客户端再次连接时将显示绿色锁形标识,且不再弹出证书告警。记得定期检查证书有效期,并配合自动续期脚本(如 acme.sh)维护长期可用性。


















