本文介绍远程登录Windows实例时,发生端口冲突导致无法登录的解决办法。

问题现象

当您在本地使用Windows操作系统自带的远程桌面连接工具MSTSC远程登录Windows实例,或在ECS控制台上使用Workbench远程登录Windows实例时,如果出现会话中断的相关提示,您将无法远程登录Windows实例。以MSTSC方式为例,提示如下:端口冲突

问题原因

Windows实例操作系统的远程连接端口(默认为3389)被其他进程或服务占用。

解决方案

重要
  • 如果您对实例或数据有修改、变更等风险操作,务必注意实例的容灾、容错能力,确保数据安全。建议您提前创建快照,快照相关信息,请参见快照概述
  • 如果您在阿里云平台授权或者提交过登录账号、密码等安全信息,建议您及时修改相关安全信息。
  1. 使用VNC连接Windows实例。
    具体操作,请参见通过密码认证登录Windows实例
  2. 打开Windows操作系统的任务管理器。
    说明 以下操作步骤以Windows Server 2012为例,实际操作系统以您实际的Windows实例为准。
    1. 在页面左上角,选择发送远程命令 > CTRL+ALT+DELETE
      使用VNC登录进入任务管理器
    2. 单击任务管理器
  3. 查看远程端口占用进程。
    1. 在任务管理器左上角,选择文件(F) > 运行新任务(N)
    2. 新建任务对话框,输入cmd
      打开cmd命令提示框
    3. 单击确定
    4. 在命令行窗口,执行netstat -ano|findstr "3389"命令,获取远程端口占用进程。
      查看端口占用进程
  4. 打开注册表编辑器。
    1. 在任务管理器左上角,选择文件(F) > 运行新任务(N)
    2. 新建任务对话框,输入regedit
      输入regedit进入注册表编辑器
    3. 单击确定
      如图所示,打开注册表编辑器。注册表编辑器
  5. 修改远程服务端口号。
    1. HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\Wds\rdpwd\Tds\tcp路径下,选中PortNumber,然后单击鼠标右键,将数值数据(V)修改为您需要的端口号。
      tcp修改PortNumber
    2. HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp路径下,选中PortNumber,然后单击鼠标右键,将数值数据(V)修改为您需要的端口号。
      说明 tcpRDP-TcpPortNumber数值数据(V)必须相同。
      RDP-Tcp修改PortNumber

      设置完毕,Windows操作系统将自动识别新的远程服务端口号。

  6. 重启Windows操作系统中的Remote Desktop Services服务。
    1. 打开Windows操作系统的任务管理器。
      具体操作,请参见步骤2
    2. 单击服务页签。
    3. 选中Remote Desktop Services,单击鼠标右键,然后单击重新启动(E)
      重启RDP服务
  7. 在安全组配置中添加远程服务端口号。
    具体操作,请参见添加安全组规则
  8. 重新使用MSTSC或Workbench远程登录Windows实例。
    • MSTSC:
      1. 选择以下任一方式启动远程桌面连接(MSTSC):
        • 使用Win+R组合键打开运行对话框,输入mstsc,然后单击确定mstsc
        • 单击开始图标,在搜索框里中输入mstsc后,按回车键确认。
        • 选择开始 > 附件 > 远程桌面连接
      2. 填写待远程登录的Windows实例信息,然后单击连接
    • Workbench:

      具体操作,请参见使用Workbench连接实例