当前位置: 首页 > news >正文

Windows 远程桌面添加 SSL 证书指南

Windows 远程桌面添加 SSL 证书指南

    • 🧾 准备工作
    • 🔐 第一步:使用 Certbot 申请 SSL 证书
    • 📦 第二步:生成 PFX 格式证书文件
    • 📁 第三步:导入证书到 Windows 证书管理器
    • 🔒 第四步:分配证书权限
    • 🧬 第五步:配置注册表绑定 SSL 证书
      • ⚙️ 编辑注册表数据值替代方式:使用 WMIC 设置证书指纹
    • ✅ 最后验证
    • 📝 总结

在企业或个人远程办公场景中,使用 SSL 证书为 Windows 远程桌面(RDP)服务加密通信是非常有必要的。本文将详细介绍如何通过 Let’s Encrypt 获取 SSL 证书,并将其配置到 Windows 远程桌面服务中。


🧾 准备工作

  • 已启用远程桌面功能的 Windows 系统(如 Win10 Pro、Win Server)
  • 具备域名解析能力(用于申请 Let’s Encrypt 证书)
  • 安装 Docker 环境(用于运行 Certbot)

🔐 第一步:使用 Certbot 申请 SSL 证书

我们使用 certbot 的 DNS 手动验证方式申请通配符证书(支持泛域名):

docker run -it --rm \-v /home/docker-nginx/cert:/etc/letsencrypt \-v /home/docker-nginx/log:/var/log/letsencrypt \certbot/certbot certonly \--manual \--preferred-challenges=dns \--server https://acme-v02.api.letsencrypt.org/directory \-d "*.你的域名" -d "你的域名" \--agree-tos \--email 你的邮箱

manual模式执行过程中需要在DNS处手动添加 TXT 记录完成域名所有权验证。


📦 第二步:生成 PFX 格式证书文件

Let’s Encrypt 默认提供的是 PEM 格式的私钥和证书文件,我们需要将其转换为 Windows 可用的 .pfx 格式:

openssl pkcs12 -export -out 自定义名称.pfx -inkey privkey.pem -in fullchain.pem -name "Certificate"

系统会提示你设置一个密码,请妥善保存。


📁 第三步:导入证书到 Windows 证书管理器

  1. 按下 Win + R 键,输入 mmc 打开控制台。
  2. 点击 文件 > 添加/删除管理单元
  3. 选择左侧 证书,点击 添加
  4. 选择 计算机账户,点击下一步,选择 本地计算机
  5. 点击 完成 > 确定
  6. 在左侧导航栏找到 证书(本地计算机) > 个人 > 证书
  7. 右键点击 所有任务 > 导入
  8. 浏览并选择你的 .pfx 文件,按照向导完成导入操作。

✅ 注意:证书存储建议选择“根据证书类型自动选择”。


🔒 第四步:分配证书权限

为了确保远程桌面服务可以访问该证书的私钥:

  1. 回到已导入的证书上,右键选择 所有任务 > 管理私钥。(刚导入后没有看到证书可以右键刷新下)
  2. 点击 添加,输入用户 NETWORK SERVICE
  3. 赋予 读取 权限。
  4. 点击确定完成权限配置。

🧬 第五步:配置注册表绑定 SSL 证书

  1. 按下 Win + R,输入 regedit 打开注册表编辑器。

  2. 定位路径:

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp
    
  3. 右侧空白处点击右键 > 新建 > REG_BINARY 类型项。

  4. 名称设为:SSLCertificateSHA1Hash

  5. 双击打开该项,在数据值中填入证书指纹(SHA1 值)。

💡 提示:指纹可在证书详细信息页查看,注意去除空格。


⚙️ 编辑注册表数据值替代方式:使用 WMIC 设置证书指纹

如果第五步无法编辑SSLCertificateSHA1Hash的值,可以在管理员权限的 CMD 或 PowerShell 中运行以下命令:

wmic /namespace:\\root\cimv2\TerminalServices PATH Win32_TSGeneralSetting Set SSLCertificateSHA1Hash="证书指纹"

⚠️ 注意:

  • 必须以管理员身份运行
  • 确保远程桌面服务已启用
  • SHA1 指纹必须为 40 位十六进制字符串,无空格

✅ 最后验证

重启系统或远程桌面服务使配置生效:

Restart-Service TermService -Force

尝试使用新的 SSL 加密连接远程桌面,确认证书是否正常加载。正常加载后远程桌面上会显示一个小锁。


📝 总结

步骤内容
1️⃣使用 Certbot 申请 SSL 证书(DNS 验证)
2️⃣使用 OpenSSL 将证书转换为 .pfx 格式
3️⃣导入证书到 Windows 证书管理器
4️⃣分配 NETWORK SERVICE 用户对私钥的读取权限
5️⃣修改注册表或使用 WMIC 绑定证书指纹
6️⃣重启服务并测试 SSL 连接

📌 提示:

  • 如果你使用的是cloudflare、aliyun、google等域名,也可以结合脚本实现自动更新 TXT 解析记录。
    –dns-cloudflare(Cloudflare)
    –dns-aliyunsdk(阿里云)
    –dns-google(Google Cloud)
  • 若替代方式遇到 Invalid parameter 报错,请检查是否以管理员身份运行命令以及SSLCertificateSHA1Hash已添加成功。

相关文章:

  • 《B4A安卓开发实战秘籍》
  • 静态库和共享库(动态库)的编译链接
  • SHELL 编程正则表达式
  • NY230NY233美光固态闪存NY237NY246
  • 社区养老模式:现状、困境与破局之道
  • 准确--CentOS 7.9在线安装docker
  • 8.4.1简单选择排序
  • idea maven打包很慢,怎么提速-多线程
  • 中级统计师-经济学基础知识-第二章 企业生产理论
  • ES6+核心特性
  • 电商运营公司排名
  • 挑战杯应用赛道
  • xss注入遇到转义,html编码绕过了解一哈
  • 基于 SpaCy DependencyMatcher 编写复杂依存关系规则实战指南
  • 【浅谈】Agent 的存在具有什么意义
  • java集合(九) ---- Stack 类
  • 基于飞凌嵌入式i.MX9352嵌入式开发板M核的FreeRTOS设计例程
  • 算法题(168):逆序对
  • 牛客小白月赛118
  • DMC-E 系列总线控制卡----雷赛板卡介绍(六)
  • 山西做网站多少钱/seo的工具有哪些
  • 湘潭网站建设 多少钱磐石网络/seo01网站
  • 海南教育学会网站建设/怎么创建网站免费建立个人网站
  • asp网站开发四酷全书/谷歌seo综合查询
  • 张掖做网站/网络营销推广计划书
  • 十大卖衣服网站/扬州百度seo