温馨提示:
本文所述内容具有依赖性,可能因软硬条件不同而与预期有所差异,故请以实际为准,仅供参考。
Windows 自带的远程桌面连接不得不说是个利器,加上之前的几次调教:《RDP(MSTSC)无法连接到远程云服务器问题分析》、《RDP 远程桌面连接保存用户名和密码自动登录方法》、《解决 RDP 远程桌面连接字体模糊、锯齿严重问题》,更加好用了哈哈哈!
远程桌面服务默认会启用自签的证书来加密连接,但是难以避免中间人攻击,每次连接时还会提示证书错误(无法验证此远程计算机的身份由于安全证书存在问题,因此远程计算机无法通过身份验证......),因此考虑使用受信任的证书来加密连接。
总体步骤分为三个:申请证书 --> 安装证书 --> 指定证书
申请证书
步骤大同小异,参考《获取免费的 Let’s Encrypt 泛域名 SSL 证书》。
安装证书
完整步骤
动图更直观(文件比较大加载可能比较慢):
重点步骤
1、存储位置
证书需要安装到本地计算机,虽然双击证书也可以直接安装,但是安装位置默认是当前用户,如果安装到当前用户,可能后续连接会发现证书又变回默认的自签证书:
2、用户组权限
安装后还需要给 NETWORK SERVICE
管理私钥的权限:
指定证书
证书指纹
直接打开证书,详细信息最后一项:
指定证书
通过修改注册表实现(这里特别注意要以管理员身份运行,即使登录用户是 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,或者如果未将远程计算机配置为支持服务器身份验证,则可能会发生此问题。请联系你的网络管理员或远程计算机的所有者以获取帮助。)
原因分析:这里的服务器身份验证其实是指指定的远程桌面证书的验证,前面在重点步骤中已经提到,需要把远程桌面证书的私钥的管理权限授予 NETWORK SERVICE
,如果没有授予权限,就会出现这个问题。
2、问题描述:无法验证此远程计算机的身份,是否仍要连接?(由于安全证书存在问题,因此远程计算机无法通过身份验证。继续操作可能不安全。证书错误:验证远程计算机的证书时遇到下列错误:无法对证书执行吊销检查。)
原因分析:其实这里已经提示很清楚了,吊销检查时发生错误,此时我们可以查看证书的吊销列表 CRL 或 OCSP 地址是否可以正常访问;如果可以正常访问,再检查 CRL 的更新日期是否已经过期(更新即可)。此问题一般出现在自签 SSL 证书上,指定了 CRL,却忘了定时更新 CRL(即使实际上并没有证书进行了吊销,也要每月定时更新,方法具体参见《利用 OpenSSL 搭建自签 SSL 证书的 OCSP 状态在线验证服务》)。
3、问题描述:无法识别此远程连接的发布者,是否仍要连接?(此远程连接可能损坏你的本地或远程计算机。除非你知道此连接或以前使用过此连接,否则请不要连接。)
原因分析:即使我们使用了可信任的证书来加密远程连接,然而仍然会出现此问题,原因是在 Windows 安全标准里,RDP 快捷连接(指 .rdp 后缀的快捷方式,通过 RDP 窗口连接不会有此提示)必须是经过可信任签名的(通常发布 RDP 快捷连接都是域里分发的,分发时都会有选择签名证书的选项),因此要解决此问题就要对快捷方式进行签名,具体方法参见《对远程桌面或 Remote App 快捷方式(.rdp)签名,解决无法识别此远程连接的发布者问题》。
参考文章:
Windows 10Chrome 74.0.3729.169来自 浙江 的大神
rdp一般是ip:端口。所以这个要解析一个域名到ip 然后用 域名:端口的方式连接吗,然后证书用域名的证书?
用 IP+端口的话,证书用 IP 证书,用域名+端口的话,证书用域名证书,都是可以的
Android 10Chrome 77.0.3865.116来自 北京 的大神
你好,按照您的教程进行了设置,具体情况见https://www.zhihu.com/question/454036209 ,如果您方便的话能否看一下,谢谢
Android 10Chrome 77.0.3865.116来自 北京 的大神
https://www.zhihu.com/question/454037150
是这个链接
如果是 RDP 本身的问题,那么应该都连不上才对,现在的情况是默认的 RDP 客户端可以连接,UWP 版本的连不上,那么就要考虑是不是 UWP 版的有问题,比如防火墙是否放行?
Windows 10Chrome 118.0.0.0来自 英国 的大神
你好,关于无法对证书执行吊销检查的问题,近期 let's encrypt 证书去掉了OCSP,CRL的地址国内访问不了,导致无法检查。如果不想付费买证书也不想自签,除了禁用吊销检查和走代理,还有其他解决方法吗?谢谢!(另外建议可以去掉复制的限制,其实作用不大,反而会出现问题,比如复制评论输入框自己的写的文字,稍微长一点都会提示限制)
已关闭
Windows 10Chrome 118.0.0.0来自 英国 的大神
好吧 评论还没审核完 就自己解决了 用 ZeroSSL 就完事儿了!前面没用是因为之前都是用 1panel 去申请的,一直申请不下来,加上官网写的不支持通配符证书,我还以为不能用。结果试着用 acme.sh 申请带通配符的,一次成功直接下来了,实测确实是泛域名的,哈哈。虽然过程还是有点慢,但是比 1panel 的快多了。分享一下,给遇到同样问题的朋友参考。