问题原因
端口冲突:RDP默认端口
3389被其他应用占用。安全协议协商失败:客户端与服务器无法完成RDP安全协议协商。
解决方案
修复方案需要修改默认端口或安全协议,为防止配置错误导致无法登录,请先为系统盘手动创建单个快照对配置数据进行备份。
步骤一:检查并解决端口冲突
远程桌面服务 (RDP) 的默认端口3389可能被其他程序占用。
通过VNC连接登录ECS实例。
访问ECS控制台-实例。在页面左侧顶部,选择目标资源所在的资源组和地域。
进入目标实例详情页,单击远程连接,选择通过VNC远程连接。输入账号和密码,登录ECS实例。
检查端口占用情况。
在任务栏搜索框,输入PowerShell并打开。查找占用远程连接端口(默认
3389)的进程PID。netstat -ano | findstr :3389将
<PID>替换为进程号,查看该进程对应的应用程序。tasklist |findstr <PID>
分析并处理。
正常情况:占用进程为
svchost.exe,说明端口未被异常占用。请直接跳至步骤二:检查并调整安全协议。异常情况:占用进程为其他应用程序,需要修改RDP默认端口。
修改RDP默认端口。
选择新端口:建议在
10000-65535范围内选择一个未被占用的端口。可以在PowerShell中执行命令netstat -ano | findstr :端口检查目标端口是否被占用。修改注册表:
在任务栏搜索框,输入
regedit并打开注册表编辑器。在左侧导航栏中,依次展开。在右侧列表中,找到并双击PortNumber。
选择基数选项中的十进制,将数值数据改为选择的新端口号。
重启并测试:
进入目标实例详情页,单击重启,使修改生效。重启成功后,单击远程连接,选择通过Workbench远程连接。
在登录实例窗口中选择终端连接,单击完整选项,在端口上填写新端口号。
重要修改RDP默认端口后,每次连接都需手动指定新端口。如果占用端口的进程可以安全关闭,且风险可控,可使用
taskkill /f /pid <PID>关闭进程,避免每次连接都手动指定新端口。
步骤二:检查并调整安全协议
搜索
gpedit.msc并打开本地组策略编辑器。依次展开。在右侧列表中,找到并双击远程(RDP)连接要求使用指定的安全层。
在远程(RDP)连接要求使用指定的安全层对话框中,选择已启用。在下方的安全层属性,选择RDP。
单击确定保存设置,然后尝试重新连接。