本文介绍远程登录Windows实例时,发生端口冲突导致无法登录的解决办法。
问题现象
当您在本地使用Windows操作系统自带的远程桌面连接工具MSTSC远程登录Windows实例,或在ECS控制台上使用Workbench远程登录Windows实例时,如果出现会话中断的相关提示,您将无法远程登录Windows实例。以MSTSC方式为例,提示如下:
问题原因
Windows实例操作系统的远程连接端口(默认为3389)被其他进程或服务占用。
解决方案
- 如果您对实例或数据有修改、变更等风险操作,务必注意实例的容灾、容错能力,确保数据安全。建议您提前创建快照,快照相关信息,请参见快照概述。
- 如果您在阿里云平台授权或者提交过登录账号、密码等安全信息,建议您及时修改相关安全信息。
使用VNC连接Windows实例。
具体操作,请参见通过密码认证登录Windows实例。
打开Windows操作系统的任务管理器。
说明以下操作步骤以Windows Server 2012为例,实际操作系统以您实际的Windows实例为准。
在页面左上角,选择 。
单击任务管理器。
查看远程端口占用进程。
在任务管理器左上角,选择 。
在新建任务对话框,输入cmd。
单击确定。
在命令行窗口,执行
netstat -ano|findstr "3389"
命令,获取远程端口占用进程。
打开注册表编辑器。
在任务管理器左上角,选择 。
在新建任务对话框,输入regedit。
单击确定。
如图所示,打开注册表编辑器。
修改远程服务端口号。
在HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\Wds\rdpwd\Tds\tcp路径下,选中PortNumber,然后单击鼠标右键,将数值数据(V)修改为您需要的端口号。
在HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp路径下,选中PortNumber,然后单击鼠标右键,将数值数据(V)修改为您需要的端口号。
说明tcp和RDP-Tcp中PortNumber的数值数据(V)必须相同。
设置完毕,Windows操作系统将自动识别新的远程服务端口号。
重启Windows操作系统中的Remote Desktop Services服务。
打开Windows操作系统的任务管理器。
具体操作,请参见步骤2。
单击服务页签。
选中Remote Desktop Services,单击鼠标右键,然后单击重新启动(E)。
在安全组配置中添加远程服务端口号。
具体操作,请参见添加安全组规则。
重新使用MSTSC或Workbench远程登录Windows实例。
MSTSC:
选择以下任一方式启动远程桌面连接(MSTSC):
使用Win+R组合键打开运行对话框,输入mstsc,然后单击确定。
单击开始图标,在搜索框中输入mstsc后,按回车键确认。
选择
。
填写待远程登录的Windows实例信息,然后单击连接。
Workbench:
具体操作,请参见通过密码或密钥认证登录Windows实例。