Windows RDP笔记

解决 Windows 远程桌面 (RDP) 证书问题

Windows 10/11 系统的远程桌面默认使用自签名的 SSL 证书进行连接,这会导致客户端在连接时提示“证书来自不信任的证书验证机构”。这是因为自签名证书无法被客户端信任,无法验证服务器的身份。

证书来自不信任的证书验证机构提示


1. 获取证书

可以通过阿里云申请免费证书,下载时选择 Tomcat 服务器类型,直接获得 pfx 格式的证书。

如果通过 Let’s Encrypt 等方式获取到 pemkey 文件,可以使用 OpenSSL 将其转换为 pfx 格式:

1
openssl pkcs12 -export -clcerts -in [your_domain_crt.pem] -inkey [your_domain_key.key] -out [your_domain.p12]

2. 导入证书

  1. 按下 Win + R,输入 mmc,打开“管理控制台”。

    运行

  2. 文件 菜单中选择 添加/删除管理单元

    管理控制台

  3. 在左侧选择 证书,点击 添加

    添加或删除单元

  4. 在弹出的对话框中选择 计算机账户,点击 下一步

    证书管理单元

  5. 选择 本地计算机(保持默认),点击 完成,然后点击 确定

    选择计算机

  6. 证书-个人 上右键,选择 所有任务-导入

    右键

  7. 按照向导点击 下一步,选择 p12 格式的证书文件,输入密码,选择 根据证书类型,自动选择证书存储,点击 下一步 完成导入。

    选择证书文件

  8. 导入完成后,证书将显示在列表中。

    导入完成


3. 分配权限

  1. 在已导入的证书上右键,选择 所有任务-管理私钥

    右键

  2. 添加 NETWORK SERVICE 用户,并为其分配 读取 权限。

    添加用户

    分配权限


4. 更新远程桌面证书配置

  1. 双击证书管理右侧的证书,查看证书详细信息,获取 指纹

    An example of the certificate thumbprint in the Certificate properties.

  2. 以管理员身份在 PowerShell 中运行以下命令,将证书指纹更新到远程桌面配置中:

    1
    wmic /namespace:\\root\cimv2\TerminalServices PATH Win32_TSGeneralSetting Set SSLCertificateSHA1Hash="<上面获取的证书指纹>"
  3. 如果更新成功,远程桌面连接时将不再提示证书错误。

    A successful example of running the wmic command together with the thumbprint value that you obtain in step 3.