Mac 客户端可以通过 RDP 连接到服务器,但 Windows 客户端无法连接

Mac 客户端可以通过 RDP 连接到服务器,但 Windows 客户端无法连接

我们有一个 Windows Server 2008 R2 系统,无法通过 RDC 从 Windows 系统远程访问(我尝试过 Windows 10、Windows 7、Windows 2012 R2,但都没有成功)。矛盾的是,运行 MacBook 的系统管理员能够使用适用于 Mac 的 MS RDP 客户端进行连接。

在检查 WireShark 跟踪时,我发现失败的会话如下:

  • 客户端-SYN
  • 服务器——SYN、ACK
  • 客户端-确认
  • 客户端-RDP
  • 服务器-确认
  • 服务器-RST,ACK

上面的“RDP”数据包包含以下信息:

  • TPKT 版本 3
  • PDU 类型:CR 连接请求
  • 类型:RDP 协商请求
  • requestedProtocols:支持 TLS 安全、支持 CredSSP、支持早期用户授权结果 PDU

对于 Mac,我看到的协商过程如下:

  • 客户端——SYN、ECN、CWR
  • 服务器——SYN、ACK
  • 客户端-确认
  • 客户端 - RDP(Cookie:= .\username,协商请求)[第一次尝试]
  • 服务器-确认
  • 服务器-RST,ACK
  • 客户端——SYN、ECN、CWR
  • 服务器——SYN、ACK
  • 客户端-确认
  • 客户端 - RDP(Cookie:= .\username,协商请求)[自动重试]
  • (正常 RDP 流量,我可以连接并且正常工作)

第一次尝试RDP 数据包如下所示:

  • TPKT 版本 3
  • PDU 类型:CR 连接请求
  • 类型:RDP 协商请求
  • requestedProtocols:支持 TLS 安全、支持 CredSSP、支持早期用户授权结果 PDU

自动重试RDP 数据包丢弃请求的协议:

  • TPKT 版本 3
  • PDU 类型:CR 连接请求
  • 类型:RDP 协商请求
  • 请求的协议:空的

此时,我正在尝试弄清楚如何让 Windows RDP 客户端像 Mac 客户端一样重新协商。我还没有成功。以前有人遇到过这种情况吗?

其他背景信息:

  • 我尝试过从 Windows 10 和 Windows 7 进行连接,结果相同
  • 我受到的限制是无法更改 2008 R2 服务器上的 RDP 设置(极其有限的更改控制窗口)。

答案1

我经常遇到这种情况,在发布问题后很快就找到了答案。在与相关 Windows Server 的系统管理员交谈时,我发现:

  • TLS 1.0 已禁用,以满足安全合规性要求
  • RDP 配置为允许来自任何版本的 RDP 客户端的连接(NLA 已禁用)

通过这些信息,我发现了一篇关于如何禁用 RDP 6.0 的凭据提示它揭示了可以配置来解决该问题的“隐藏”设置。

解决方案:

  • 将 RDP 会话保存到 .rdp 文件
  • 在文本编辑器中编辑 .rdp 文件(我使用 Notepad++)
  • 将以下行添加到文件末尾:

    negotiate security layer:i:0
    authentication level:i:0
    enablecredsspsupport:i:0 
    prompt for credentials:i:0
    
  • 保存文件

  • 双击 .rdp 文件以打开连接。

相关内容