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 證書管理器
- 按下
Win + R
鍵,輸入mmc
打開控制臺。 - 點擊 文件 > 添加/刪除管理單元。
- 選擇左側 證書,點擊 添加。
- 選擇 計算機賬戶,點擊下一步,選擇 本地計算機。
- 點擊 完成 > 確定。
- 在左側導航欄找到 證書(本地計算機) > 個人 > 證書。
- 右鍵點擊 所有任務 > 導入。
- 瀏覽并選擇你的
.pfx
文件,按照向導完成導入操作。
? 注意:證書存儲建議選擇“根據證書類型自動選擇”。
🔒 第四步:分配證書權限
為了確保遠程桌面服務可以訪問該證書的私鑰:
- 回到已導入的證書上,右鍵選擇 所有任務 > 管理私鑰。(剛導入后沒有看到證書可以右鍵刷新下)
- 點擊 添加,輸入用戶
NETWORK SERVICE
。 - 賦予 讀取 權限。
- 點擊確定完成權限配置。
🧬 第五步:配置注冊表綁定 SSL 證書
-
按下
Win + R
,輸入regedit
打開注冊表編輯器。 -
定位路徑:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp
-
右側空白處點擊右鍵 > 新建 > REG_BINARY 類型項。
-
名稱設為:
SSLCertificateSHA1Hash
-
雙擊打開該項,在數據值中填入證書指紋(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
已添加成功。