RDP(MSTSC)远程桌面连接替换使用可信任的 SSL 证书来加密连接

温馨提示:
本文所述内容具有依赖性,可能因软硬条件不同而与预期有所差异,故请以实际为准,仅供参考。

Windows 自带的远程桌面连接不得不说是个利器,加上之前的几次调教:《RDP(MSTSC)无法连接到远程云服务器问题分析》、《RDP 远程桌面连接保存用户名和密码自动登录方法》、《解决 RDP 远程桌面连接字体模糊、锯齿严重问题》,更加好用了哈哈哈!

远程桌面服务默认会启用自签的证书来加密连接,但是难以避免中间人攻击,每次连接时还会提示证书错误(无法验证此远程计算机的身份由于安全证书存在问题,因此远程计算机无法通过身份验证......),因此考虑使用受信任的证书来加密连接。

总体步骤分为三个:申请证书 --> 安装证书 --> 指定证书

申请证书

步骤大同小异,参考《获取免费的 Let’s Encrypt 泛域名 SSL 证书》。

安装证书

完整步骤

动图更直观(文件比较大加载可能比较慢):

操作步骤.gif

重点步骤

1、存储位置

证书需要安装到本地计算机,虽然双击证书也可以直接安装,但是安装位置默认是当前用户,如果安装到当前用户,可能后续连接会发现证书又变回默认的自签证书:

07.1.本地计算机位置.png

2、用户组权限

安装后还需要给 NETWORK SERVICE 管理私钥的权限:

13.添加组.png

指定证书

证书指纹

直接打开证书,详细信息最后一项:

14.指纹.png

指定证书

通过修改注册表实现(这里特别注意要以管理员身份运行,即使登录用户是 Administrator),位置为 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp],新建 二进制值,名称为 SSLCertificateSHA1Hash,值为刚安装的证书的指纹。

定位到 RDP-Tcp 比较累,建议直接用文件导入,内容如下:

C:\Users\Administrator>type 注册表.reg

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp]
"SSLCertificateSHA1Hash"=hex:ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,\
  ff,ff,ff,ff

问题点

1、问题描述:无法验证此远程计算机的身份,是否仍要连接?(如果远程计算机运行的是早于 Windows Vista 版本的 Windows,或者如果未将远程计算机配置为支持服务器身份验证,则可能会发生此问题。请联系你的网络管理员或远程计算机的所有者以获取帮助。)

无法验证.png

原因分析:这里的服务器身份验证其实是指指定的远程桌面证书的验证,前面在重点步骤中已经提到,需要把远程桌面证书的私钥的管理权限授予 NETWORK SERVICE,如果没有授予权限,就会出现这个问题。

2、问题描述:无法验证此远程计算机的身份,是否仍要连接?(由于安全证书存在问题,因此远程计算机无法通过身份验证。继续操作可能不安全。证书错误:验证远程计算机的证书时遇到下列错误:无法对证书执行吊销检查。)

吊销检查.png

原因分析:其实这里已经提示很清楚了,吊销检查时发生错误,此时我们可以查看证书的吊销列表 CRL 或 OCSP 地址是否可以正常访问;如果可以正常访问,再检查 CRL 的更新日期是否已经过期(更新即可)。此问题一般出现在自签 SSL 证书上,指定了 CRL,却忘了定时更新 CRL(即使实际上并没有证书进行了吊销,也要每月定时更新,方法具体参见《利用 OpenSSL 搭建自签 SSL 证书的 OCSP 状态在线验证服务》)。

3、问题描述:无法识别此远程连接的发布者,是否仍要连接?(此远程连接可能损坏你的本地或远程计算机。除非你知道此连接或以前使用过此连接,否则请不要连接。)

无法识别.png

原因分析:即使我们使用了可信任的证书来加密远程连接,然而仍然会出现此问题,原因是在 Windows 安全标准里,RDP 快捷连接(指 .rdp 后缀的快捷方式,通过 RDP 窗口连接不会有此提示)必须是经过可信任签名的(通常发布 RDP 快捷连接都是域里分发的,分发时都会有选择签名证书的选项),因此要解决此问题就要对快捷方式进行签名,具体方法参见《对远程桌面或 Remote App 快捷方式(.rdp)签名,解决无法识别此远程连接的发布者问题》。


参考文章:

1、《使用可信证书为windows RDP服务提供加密


ArmxMod for Typecho
个性化、自适应、功能强大的响应式主题

推广

 继续浏览关于 VPS远程连接证书rdp远程桌面云服务器mstsc 的文章

 本文最后更新于 2024/11/15 15:22:37,可能因经年累月而与现状有所差异

 引用转载请注明: VirCloud's Blog > 经验 > RDP(MSTSC)远程桌面连接替换使用可信任的 SSL 证书来加密连接

精选评论

  1. zvv
    zvv 回复

    Windows 10Chrome 74.0.3729.169来自 浙江 的大神

    rdp一般是ip:端口。所以这个要解析一个域名到ip 然后用 域名:端口的方式连接吗,然后证书用域名的证书?

    1. 欧文斯
      欧文斯 回复

      Windows 10Chrome 78.0.3904.87来自 福建 的大神

      用 IP+端口的话,证书用 IP 证书,用域名+端口的话,证书用域名证书,都是可以的

      1. eaten9x
        eaten9x 回复

        Android 10Chrome 77.0.3865.116来自 北京 的大神

        你好,按照您的教程进行了设置,具体情况见https://www.zhihu.com/question/454036209 ,如果您方便的话能否看一下,谢谢

        1. eaten9x
          eaten9x 回复

          Android 10Chrome 77.0.3865.116来自 北京 的大神

          https://www.zhihu.com/question/454037150
          是这个链接

          1. 欧文斯
            欧文斯 回复

            Windows 10Chrome 88.0.4324.104来自 福建 的大神

            如果是 RDP 本身的问题,那么应该都连不上才对,现在的情况是默认的 RDP 客户端可以连接,UWP 版本的连不上,那么就要考虑是不是 UWP 版的有问题,比如防火墙是否放行?

  2. xxhhlk
    xxhhlk 回复

    Windows 10Chrome 118.0.0.0来自 英国 的大神

    你好,关于无法对证书执行吊销检查的问题,近期 let's encrypt 证书去掉了OCSP,CRL的地址国内访问不了,导致无法检查。如果不想付费买证书也不想自签,除了禁用吊销检查和走代理,还有其他解决方法吗?谢谢!(另外建议可以去掉复制的限制,其实作用不大,反而会出现问题,比如复制评论输入框自己的写的文字,稍微长一点都会提示限制)

    1. 欧文斯
      欧文斯 回复

      Windows 10Chrome 136.0.0.0来自 福建 的大神

      已关闭

  3. xxhhlk
    xxhhlk 回复

    Windows 10Chrome 118.0.0.0来自 英国 的大神

    好吧 评论还没审核完 就自己解决了 用 ZeroSSL 就完事儿了!前面没用是因为之前都是用 1panel 去申请的,一直申请不下来,加上官网写的不支持通配符证书,我还以为不能用。结果试着用 acme.sh 申请带通配符的,一次成功直接下来了,实测确实是泛域名的,哈哈。虽然过程还是有点慢,但是比 1panel 的快多了。分享一下,给遇到同样问题的朋友参考。