远程连接Windows系统的ECS实例时提示协议错误的解决方法
概述
本文介绍如何处理远程连接Windows系统的ECS实例时,提示协议错误。报错提示为“由于协议错误,会话将被中断。请重新连接到远程计算机。”。
详细信息
阿里云提醒您:
•如果您对实例或数据有修改、变更等风险操作,务必注意实例的容灾、容错能力,确保数据安全。
•如果您对实例(包括但不限于ECS、RDS)等进行配置与数据修改,建议提前创建快照或开启RDS日志备份等功能。
•如果您在阿里云平台授权或者提交过登录账号、密码等安全信息,建议您及时修改。
根据报错提示,分析出可能是远程目的主机配置错误导致,或目标主机的端口被其他应用占用导致。本文分别介绍两种案例的处理方法。
提示:以下案例适用Windows Server 2003以上版本,本文以Windows Server 2016版本为例。
案例一:目标主机远程会话配置错误
处理步骤如下。
1.远程登录Windows实例中。
2.单击 开始,输入gpedit.msc,单击 Enter 按钮,打开 本地组策略编辑器 页面窗口。
3.在 本地组策略编辑器 页面窗口内,单击 计算机配置> 管理模板> Windows 组件> 远程桌面服务> 远程桌面会话主机> 安全。
4.在 安全 页面中,双击 远程(RDP)连接要求使用指定的安全层。
5.选择 已启用 ,在 安全层 处选择 RDP,单击 确定。
6.单击 开始,输入cmd,单击 Enter 按钮,打开命令行。
7.执行如下命令,完成策略更新,使以上的设置生效。
gpupdate
系统显示类似如下,计算机策略更新完成。
案例二:目标主机端口被占用
Windows系统默认远程桌面连接端口号为3389,当改端口被其他程序占用时,远程连接服务将无法正常运行。此处介绍了两种处理方法,分别如下。
修改远程连接端口号
1.远程登录Windows实例中。
2.单击 开始,输入regedit,单击 Enter 按钮,打开 注册表编辑器。
3.单击 HKEY_LOCAL_MACHINE> SYSTEM> CurrentControlSet> Control> Terminal Server> WinStations> RDP-Tcp。
4.在 RDP-Tcp 页面,双击 PortNumber。
5.在编辑页面,选择 基数 框中 十进制,修改 数值数据 下的值,该值即为远程桌面使用的端口号。
提示:修改远程桌面默认端口时,根据现场情况选择合适的TCP端口号。
6.重启Windows系统或重启实例。
结束占用端口的进程释放远程连接端口
1.远程登录Windows实例中。
2.单击 开始,输入cmd,单击 Enter 按钮,打开命令行。
3.执行如下命令,查看远程连接端口进程占用ID信息。
netstat -ano |findstr 3389
4.执行如下命令,根据进程PID查看指定进程运行程序。
tasklist |findstr [$PID]
注:[$PID]指上一步获取的进程ID号。
系统显示类似如下。正常情况下,3389端口被svchost.exe进程占用。如果占用3389端口的不是svchost.exe进程,需要关闭正在占用3389的其他进程。
注:此图以正常情况为例,请根据现场情况为准。
执行如下命令,根据进程PID结束指定程序进程。
提示:核实该进程被关闭后不影响业务运行,方可执行结束进程操作。
taskkill /f /pid [$PID]
适用于
•云服务器 ECS
我有话说: