远程桌面断开连接或无法连接到远程计算机或远程桌面服务器 (运行 Windows Server 2003 的终端服务器)

本文可帮助您了解影响在企业环境中建立终端服务会话的最常见设置。

原始产品版本:   Windows Server 2003
原始 KB 数:   2477023

终端服务器

终端服务器是承载基于 Windows 的程序或用于终端服务客户端的完整 Windows 桌面的服务器。 用户可以连接到终端服务器以运行程序、保存文件以及在该服务器上使用网络资源。 用户可以从企业网络或从 Internet 访问终端服务器。

用于管理目的的远程连接

终端服务支持两个到计算机的并发远程连接。 对于这些连接,您不需要 (TS Cal) 的终端服务客户端访问许可证。

若要允许两个以上的管理连接或多个用户连接,必须安装 "终端服务" 角色,并具有相应的 TS Cal。

建立终端服务会话疑难解答

以下各节介绍了可能遇到的问题,并提供了解决方案。

可能会限制可以同时连接到终端服务会话的用户数

由于 "终端服务配置" 中的组策略配置不正确或 RDP-Tcp 属性,因此受限制的 RDP 连接数有限。 默认情况下,将连接配置为允许无限制数量的会话连接到服务器。 当您尝试将远程桌面连接 (RDC) 时,您会收到以下错误消息:

远程桌面断开连接。
此计算机无法连接到远程计算机。
请再次尝试连接。 如果问题仍然存在,请与远程计算机或网络管理员的所有者联系。

验证是否已启用远程桌面

  1. 启动 "系统" 工具。 若要启动 "系统" 工具,请单击 "开始 > 控制面板 > 系统" 图标,然后单击 "确定"
  2. 单击 " 远程 " 选项卡。在 " 远程桌面" 下,单击 "在 此计算机上启用远程桌面 " 复选框。

验证终端服务限制连接策略的数量

  1. 启动 "组策略" 管理单元,打开 "本地安全策略" 或适当的 "组策略"
  2. 导航到 "位置:本地计算机策略 > 计算机配置" > 管理模板 > Windows 组件 > 终端服务限制连接数
  3. 单击“启用”****。
  4. 在 "允许的 TS 最大连接 数" 框中,键入要允许的最大连接数,然后单击 "确定"

验证终端服务 RDP-Tcp 属性并通过终端服务配置设置

  1. 单击 " 开始",单击 "控制面板",双击 " 管理工具",然后双击 "* * 终端服务配置"。
  2. 在控制台树中,单击 " 连接"。
  3. 在 "详细信息" 窗格中,右键单击要为其指定最大会话数的连接,然后单击 " 属性"。
  4. 在 " 网络适配器 " 选项卡上,单击 " 最大连接数",键入可以连接到服务器的最大会话数,然后单击 " 应用"。

验证终端 ServicesLogon 权限并配置远程桌面用户组

终端服务器上的 "远程桌面用户" 组用于向用户和组授予远程连接到终端服务器的权限。

您可以通过以下方式向远程桌面用户组添加用户和组:

  • "本地用户和组" 管理单元
  • 在 RD 会话主机服务器上的 "系统属性" 对话框中的 "远程" 选项卡上
  • 如果 RD 会话主机服务器安装在域控制器上,则为 Active Directory 用户和计算机管理单元

您可以使用以下过程,通过终端服务器上 "系统属性" 对话框中的 "远程" 选项卡将用户和组添加到远程桌面用户组中。

您计划配置的终端服务器上的本地 Administrators 组成员身份或同等身份是完成此过程的最低要求。

使用 "远程" 选项卡向 "远程桌面用户" 组添加用户和组

  1. 启动 "系统" 工具。 若要启动 "系统" 工具,请单击 "开始 > 控制面板 > 系统" 图标,然后单击 "确定"
  2. 在 " 系统属性 " 对话框中的 " 远程 " 选项卡上,单击 " 选择远程用户"。 添加需要连接到终端服务器的用户或组。 您添加的用户和组将添加到 "远程桌面用户" 组中。

如果未选中 " 允许用户远程连接到此计算机 上的 远程 " 选项卡,则没有任何用户能够远程连接到此计算机,即使它们是 "远程桌面用户" 组的成员。

使用 "本地用户和组" 管理单元向 "远程桌面用户" 组添加用户和组

  1. 单击 "启动 > 管理工具",打开 "计算机管理"。
  2. 在控制台树中,单击 " 本地用户和组 " 节点。
  3. 在详细信息窗格中,双击 " " 文件夹。
  4. 双击 " 远程桌面用户",然后单击 " 添加"。
  5. 在 " 选择用户 " 对话框中,单击 " 位置 " 以指定搜索位置。
  6. 单击 " 对象类型 " 以指定要搜索的对象的类型。
  7. 在 " 输入对象名称 来选择" (示例) 框中键入要添加的名称。
  8. 单击“检查名称”****。
  9. 找到该名称后,单击 "确定"

备注

  • 无法连接到处于睡眠或休眠状态的计算机,因此请确保远程计算机上的睡眠和休眠设置设置为从不。 (休眠在所有计算机上不可用。 ) 有关进行这些更改的信息,请参阅更改、创建或删除电源计划 (方案) 。
  • 本地 Administrators 组的成员可以连接,即使它们未列出。

您可能有端口分配冲突

此问题可能表示终端服务器上的另一个应用程序使用的 TCP 端口与远程桌面协议 (RDP) 相同。 分配给 RDP 的默认端口为3389。

若要解决此问题,请确定哪个应用程序正在使用与 RDP 相同的端口。 如果无法更改该应用程序的端口分配,请通过编辑注册表更改分配给 RDP 的端口。 编辑注册表后,必须重新启动终端服务服务。 重新启动终端服务服务后,应确认已正确更改 RDP 端口。

终端服务器侦听器可用性

侦听器组件在终端服务器上运行,负责侦听和接受新的远程桌面协议 (RDP) 客户端连接,从而允许用户在终端服务器上建立新的远程会话。 终端服务器上存在的每个终端服务连接都有一个侦听器。 可以使用 "终端服务配置" 工具创建和配置连接。

若要执行这些任务,请参阅以下各节。

确定哪个应用程序正在使用与 RDP 相同的端口

您可以运行 netstat 工具以确定端口 3389 (还是由终端服务器上的另一个应用程序使用所分配的 RDP 端口) 。

  1. 在终端服务器上,单击 " 开始",再单击 " 运行",键入 Cmd,然后单击 "确定"
  2. 在命令提示符处,键入, netstat -a -o 然后按 enter。
  3. 查找 TCP 端口 3389 (或分配的 RDP 端口) 的条目,状态为 "正在侦听"。 这表示另一个应用程序正在使用此端口。 使用该端口的进程或服务的 PID (进程标识符) 显示在 PID 列下。

若要确定哪个应用程序正在使用端口 3389 (或分配的 RDP 端口) ,请使用 tasklist 命令行工具以及来自 netstat 工具的 PID 信息。

  1. 在终端服务器上,单击 " 开始",再单击 " 运行",键入 Cmd,然后单击 "确定"
  2. 键入 tasklist /svc ,然后按 enter。
  3. 查找与) 的 netstat 输出中的端口 (相关联的 PID 号条目。 与该 PID 相关联的服务或进程将显示在右侧。

更改分配给 RDP 的端口

您应确定此应用程序是否可以使用不同的端口。 如果无法更改应用程序的端口,则必须更改分配给 RDP 的端口。

重要

Microsoft 不建议更改分配给 RDP 的端口。

如果必须更改分配给 RDP 的端口,则必须编辑注册表。

若要执行此过程,您必须具有本地 Administrators 组中的成员身份,或者您必须已被授予了相应的权限。

若要更改分配给 RDP 的端口,请按照以下步骤操作:

注意

不正确地编辑注册表可能会对系统造成严重损坏。 在对注册表进行更改之前,应备份所有有价值的数据。

  1. 在终端服务器上,打开 "注册表编辑器"。 要打开注册表编辑器,请依次单击“开始”、“运行”,键入 regedit,然后单击“确定”****。

  2. 找到并单击下面的注册表子项:

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations

RDP-TCP 是默认连接名称。 若要在终端服务器上更改特定连接的端口,请在 WinStations 项下选择该连接。

  1. 在右侧窗格中,双击 " PortNumber " 注册表项。
  2. 在 "数值数据" 框中,键入要分配给 RDP 的端口号。 PortNumber 以十六进制值的形式输入。
  3. 单击 "确定" 保存更改,然后关闭 "注册表编辑器"。
  4. 重新启动终端服务器。

确认 RDP 端口已更改

若要确认 RDP 端口分配已更改,请使用 netstat 工具。

  1. 在终端服务器上,单击 " 开始",再单击 " 运行",键入 Cmd,然后单击 "确定"
  2. 在命令提示符处,键入, netstat -a 然后按 enter。
  3. 查找分配给 RDP 的端口号的条目。 该端口应显示在列表中,且状态为 "正在侦听"。

默认情况下,远程桌面连接和终端服务器 Web 客户端使用端口3389连接到终端服务器。 如果在终端服务器上更改 RDP 端口,将需要修改远程桌面连接和终端服务器 Web 客户端使用的端口。 有关详细信息,请参阅 如何更改 Windows 终端服务器 Web 客户端中的侦听端口

验证终端服务器上的侦听器是否正常工作

备注

RDP-TCP 是默认的连接名称,而3389是默认的 RDP 端口。 使用特定于您的终端服务器配置的连接名称和端口号。

  • 方法1:使用 RDP 客户端(如远程桌面连接)建立与终端服务器的远程连接。

  • 方法2:使用 qwinsta 工具查看终端服务器上的侦听器状态。

    1. 在终端服务器上,单击 " 开始",再单击 " 运行",键入 Cmd,然后单击 "确定"
    2. 在命令提示符处,键入 qwinsta ,然后按 enter。
    3. RDP-TCP 会话状态应为 " 侦听"。
  • 方法3:使用 netstat 工具查看终端服务器上的侦听器状态。

    1. 在终端服务器上,单击 " 开始",再单击 " 运行",键入 Cmd,然后单击 "确定"
    2. 在命令提示符处,键入, netstat -a 然后按 enter。
    3. TCP 端口3389的条目应处于 侦听
  • 方法4:使用 telnet 工具连接到终端服务器上的 RDP 端口。

    1. 在另一台计算机上,单击 " 开始",再单击 " 运行",键入 Cmd,然后单击 "确定"
    2. 在命令提示符处,键入 telnet <servername> 3389 ,其中 <servername> 是终端服务器的名称,然后按 enter。

    如果 telnet 成功,您将收到 telnet 屏幕和游标。

    如果 telnet 不成功,您将收到以下错误消息:

    正在连接到服务器名称 .。。无法打开到主机的连接,在端口3389上: Connect 失败

    Qwinsta、netstat 和 telnet 工具也包含在 Windows XP 中。 您还可以下载并使用其他故障排除工具,如 Portqry。

您可能配置了不正确的身份验证和加密设置

使用终端服务配置配置身份验证和加密

  1. 在 "管理工具" 中,打开 "终端服务配置"。

  2. 在控制台树中,单击 " 连接"。

  3. 在 " 详细信息 " 窗格中,右键单击要修改的连接,然后单击 " 属性"。

  4. 在 " 常规 " 选项卡上的 "安全层" 中,选择一个安全方法。 您选择的安全方法将确定是否向客户端验证了终端服务器,以及您可以使用的加密级别。 您可以从以下安全方法中进行选择:

    • 如果支持 TLS,Negotiate 方法将使用 TLS 1.0 对服务器进行身份验证。 如果 TLS 不受支持,则不会对服务器进行身份验证。

    • RDP 安全层方法使用本机远程桌面协议加密来保护客户端与服务器之间的通信。 如果选择此设置,则不会对服务器进行身份验证。

    • SSL 方法需要使用 TLS 1.0 对服务器进行身份验证。 如果 TLS 不受支持,连接将失败。 此方法仅在选择有效证书时才可用,如步骤6中所述。

      如果选择 "协商" 或 "SSL" 以使 TLS 正常运行,则还必须将加密级别设置为 " ",或者必须使用组策略或终端服务器配置启用 FIPS 兼容的加密。 此外,还必须满足其他服务器和客户端配置要求。 有关配置终端服务器以支持 TLS 身份验证的要求和任务的详细信息,请参阅配置身份验证和加密。

  5. 在 "加密级别" 中,单击所需的级别。 您可以选择 " "、" 客户端兼容"、" " 或 " FIPS 兼容"。 有关这些级别的详细信息,请参阅本主题结尾处的注释。

  6. 若要使用 TLS 1.0 对服务器进行身份验证,请在 " 证书" 中单击 " 浏览",再单击 " 选择证书",然后单击要使用的证书。 证书必须是具有相应私钥的 x.509 证书。 有关如何验证证书是否具有相应私钥的说明,请参阅本主题结尾处的注释。

  7. 若要指定客户端通过在默认 Windows 登录对话框中键入凭据来登录到终端服务器,请选中 "使用标准 Windows 登录接口" 复选框。

备注

  • 要执行该过程,您必须是本地计算机上 Administrators 组的成员,或者您必须被委派了适当的权限。 如果计算机已加入某个域,则 Domain Admins 组的成员可能会执行该过程。 作为安全性最佳实践,请考虑使用 "运行方式" 执行此过程。
  • 要打开“终端服务配置”,请依次单击“开始”、“控制面板”,双击“管理工具”,然后双击“终端服务配置”。
  • 您在组策略中配置的任何加密级别设置将覆盖您使用 "终端服务配置" 工具设置的配置。 此外,如果您启用 系统加密:使用 FIPS 兼容的算法进行加密、哈希和签名 组策略设置,此设置将替代设置客户端连接加密级别组策略设置。
  • 当您更改加密级别时,新的加密级别将在用户下次登录时生效。 如果需要在一台服务器上进行多个级别的加密,请安装多个网络适配器并单独配置每个适配器。
  • 若要验证证书是否具有相应的私钥,请在 "终端服务配置" 中,右键单击要查看其证书的连接,单击 " 常规 " 选项卡,单击 " 编辑",再单击要查看的证书,然后单击 " 查看证书"。 在 " 常规 " 选项卡的底部,将显示 一个与此证书对应的私钥 。 您还可以使用 "证书" 管理单元查看此信息。
  • FIPS 兼容的设置 (系统加密:将 FIPS 兼容的算法用于 "组策略" 或 "在终端服务器配置中的 FIPS 兼容的设置" 中的 "使用 FIPS 兼容的算法" 设置。) 使用 Microsoft 加密模块将从客户端发送到服务器和从服务器发送到客户端的数据进行加密和解密(采用联邦信息处理标准 140-1) ( 有关详细信息,请参阅 Windows Server 2003 技术参考中的终端服务
  • "高" 设置通过使用强大的128位加密来加密从客户端发送到服务器的数据以及从服务器到客户端的数据。
  • "客户端兼容" 设置对客户端和服务器之间发送的数据进行加密,以客户端支持的最大密钥强度为依据。
  • "低" 设置使用56位加密对从客户端发送到服务器的数据进行加密。

无法完全断开终端服务器连接

在终端服务器客户端失去与终端服务器的连接后,终端服务器上的会话可能不会转换为断开连接的状态,而是可能仍处于活动状态,即使客户端已从终端服务器进行物理断开。 如果客户端重新登录到同一个终端服务器,则可能会建立新的会话,并且原始会话仍可能保持活动状态。

若要解决此问题,请按照以下步骤操作:

  1. 依次单击“开始”、“运行”,键入 gpedit.msc,然后单击“确定”****。
  2. 展开 " 计算机配置",展开 " 管理模板",展开 " Windows 组件",然后单击 " 终端服务"。
  3. 在右侧窗格中,双击 " 保持活动连接"。
  4. 单击“启用”,然后单击“确定”
  5. 关闭 "组策略对象编辑器",单击 "确定",然后退出 "Active Directory 用户和计算机"。

RDP 服务当前正忙

在打开 Windows Server 2003 .SNP 功能时,可能会出现以下问题:

症状

当您尝试使用 VPN 连接来连接到服务器时,会收到以下错误消息:

错误800:无法建立连接。

  • 无法 (RDP) 与服务器的连接创建远程桌面协议。
  • 无法从本地网络上的计算机连接到服务器上的共享。
  • 无法将客户端计算机加入域。
  • 无法从运行 Microsoft Outlook 的计算机连接到 Exchange 服务器。
  • 不能清理与 Exchange 服务器的非活动 Outlook 连接。
  • 您遇到网络性能降低的情况。
  • 与基于 Windows Vista 的计算机通信时,可能会遇到网络性能降低的情况。
  • 无法从服务器创建传出 FTP 连接。
  • 动态主机配置协议 (DHCP) server 服务崩溃。
  • 登录到域时遇到性能降低的情况。
  • 网络地址转换 (NAT) 位于 Windows 小型企业服务器2003或 Internet 安全和加速 (ISA) Server 体验间歇性连接故障的客户端。
  • 遇到 RPC 通信间歇故障。
  • 服务器停止响应。
  • 服务器在非分页缓冲池内存中运行不足

您可能已损坏证书

终端服务客户端可能会被重复拒绝访问终端服务器。 如果使用终端服务客户端登录到终端服务器,则可能会收到以下错误消息之一:

  • 错误消息1

    由于安全错误,客户端无法连接到终端服务器。 确保您已登录到网络后,再次尝试连接到服务器。

  • 错误消息2

    远程桌面断开连接。 由于安全错误,客户端无法连接到远程计算机。 确认您已登录到网络,然后再次尝试连接。

重要

此部分(或称方法或任务)介绍了修改注册表的步骤。 但是,注册表修改不当可能会出现严重问题。 因此,请务必严格按照这些步骤操作。 为了加强保护,应先备份注册表,再进行修改。 如果出现问题,可以还原注册表。 有关如何备份和还原注册表的详细信息,请参阅 如何在 Windows 中备份和还原注册表

若要解决此问题,请先备份 X509 证书注册表项,然后再将其删除,再重新启动计算机,然后重新激活终端服务授权服务器。 为此,请按照下列步骤操作。

备注

在每个终端服务器上执行以下过程。

  1. 请确保已成功备份终端服务器注册表。

  2. 启动注册表编辑器。

  3. 找到并单击下面的注册表子项:

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\TermService\

  4. 在 " 注册表 " 菜单上,单击 " 导出注册表文件"。

  5. "文件名" 框 中键入导出的参数,然后单击 " 保存"。

    备注

    如果将来您必须还原此注册表子项,请双击您在此步骤中保存的 Exported-parameters 文件。

  6. 在 " Parameters " 注册表子项下,右键单击以下每个值,单击 " 删除",然后单击 "是" 以确认删除:

    • 证书
    • X509 证书
    • X509 证书 ID
  7. 退出注册表编辑器,然后重新启动服务器。

  8. 使用授权向导中的电话连接方法重新激活终端服务授权服务器。

参考

如果本文无法帮助您解决问题,或者你遇到的症状不同于本文中所述的症状,请搜索 Microsoft 支持部门。 然后,键入您收到的错误消息的文本,或者在 "搜索支持 (KB) " 框中键入问题的说明。