云主机

  • 云主机 > 常见问题 > 远程连接 FAQ >Windows实例提示“由于协议错误,会话将被中断。请重新连接到远程计算机。”

    Windows实例提示“由于协议错误,会话将被中断。请重新连接到远程计算机。”

    最近更新时间: 2020-08-13 17:50:43

    免责声明:本文档可能包含第三方产品信息,该信息仅供参考。七牛云对第三方产品的性能、可靠性以及操作可能带来的潜在影响,不做任何暗示或其他形式的承诺。

    问题描述

    远程连接Windows系统的QVM实例时,提示协议错误。具体的报错如下:

    由于协议错误,会话将被中断。请重新连接到远程计算机。

    问题原因

    可能导致该问题的部分原因如下:

    • 原因一
      目标实例的远程会话配置错误。当远程会话配置错误,远程连接时会出现协议错误的提示。
    • 原因二
      目标实例的远程连接端口被其他应用占用。Windows系统默认远程桌面连接端口号为3389,当该端口被其他程序占用时,远程连接服务将无法正常运行。

    解决方案

    七牛云提醒您:

    • 如果您对实例或数据有修改、变更等风险操作,务必注意实例的容灾、容错能力,确保数据安全。
    • 如果您对实例(包括但不限于QVM、RDS)等进行配置与数据修改,建议提前创建快照或开启RDS日志备份等功能。
    • 如果您在七牛云平台授权或者提交过登录账号、密码等安全信息,建议您及时修改。

    不同问题原因对应的解决方案不同,您可以根据现场实际情况选择对应的问题原因及解决方案。

    说明:本文中的操作步骤以Windows Server 2016版本为例。

    原因一:目标实例的远程会话配置错误

    处理步骤如下:

    1. 使用VNC登录Windows实例。
    2. 单击开始,输入gpedit.msc。单击Enter按钮,打开本地组策略编辑器
    3. 本地组策略编辑器窗口中,依次单击计算机配置>管理模板>Windows 组件>远程桌面服务>远程桌面会话主机>安全计算机配置
    4. 安全目录中,双击远程(RDP)连接要求使用指定的安全层
    5. 选择已启用 ,在安全层选项中选择RDP,单击确定
    6. 单击开始,输入cmd,单击Enter按钮,打开命令行。
    7. 执行以下命令,完成策略更新,使以上的设置生效。
      gpupdate
      系统显示如下图,计算机策略更新完成。
    8. 重试远程连接,确认问题已经修复。

    原因二:目标实例的远程连接端口被其他应用占用

    如果目标实例的远程连接端口被其他应用占用,您可以从下列两种解决方案中选择其一。

    方案一:修改远程连接端口号

    参考下列步骤,修改远程连接的端口号,然后使用新的端口号重试远程连接:

    1. 使用VNC登录Windows实例。
    2. 单击开始,输入regedit,单击Enter按钮,打开注册表编辑器
    3. 依次进入以下目录。
      HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp
    4. 双击RDP-Tcp目录中名称为PortNumber的注册表项。

    5. 在编辑页面,选择基数选项中的十进制,修改数值数据中的值,该值即为远程桌面使用的端口号。
      说明:修改远程桌面默认端口时,请根据现场情况选择合适的TCP端口号。
      说明:图中的3389端口号为远程连接的默认端口号,仅作为示例。
    6. 重启Windows系统或重启该QVM实例。

    方案二:关闭占用远程连接端口的应用进程

    参考下列步骤,关闭正在占用远程连接端口的应用进程,以释放端口号,然后重试远程连接:

    1. 使用VNC登录Windows实例。
    2. 单击开始,输入cmd,单击Enter按钮,打开命令行。
    3. 执行以下命令,获取占用远程连接端口的进程号(PID)。
      netstat -ano |findstr 3389
      说明:此处以远程连接默认端口号3389为例,现场需要以实际情况为准。
    4. 执行以下命令,根据PID查看进程对应的应用程序。正常情况下,远程连接端口被svchost.exe进程占用。
      tasklist |findstr [$PID]
      说明:[$PID]指上一步获取的PID。
    5. 如果远程连接端口被svchost.exe之外的进程占用,则表明远程连接端口的确被其他应用所占用。您可以执行以下命令,根据PID关闭指定的进程,释放被占用的远程连接端口。
      警告:关闭进程属于风险操作,请确保关闭进程后不影响业务运行,方可执行此操作。
      taskkill /f /pid [$PID]

    适用于

    • 云服务器QVM

    如果您的问题仍未解决,您可以提交工单联系七牛云技术支持。

    以上内容是否对您有帮助?
  • Qvm free helper
    Close