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

小助手读文章 00:00 / 00:00

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

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 的文章

 本文最后更新于 2020/12/28 10:11:20,可能因经年累月而与现状有所差异

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

精选评论

  1. zvv
    zvv 回复

    Windows 10Chrome 74.0.3729.169来自 浙江 的大神

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

    1. 欧文斯

      用 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. 欧文斯

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