误禁用RDP服务器Windows防火墙3389端口公网选项后,如何恢复连接?
解决Windows防火墙禁用3389公网访问导致RDP无法连接的问题
别慌,这种情况我碰到过好几次,完全不用重建实例,用AWS自带的工具就能轻松修复,下面给你两种最靠谱的方案:
方法一:用AWS Systems Manager(SSM)会话管理器连接修复
这是我最推荐的方式,只要你的实例满足几个基础条件就能用:
- AWS官方Windows AMI默认预装了SSM代理,自定义镜像如果没删的话也有
- 实例的IAM角色包含
AmazonSSMManagedInstanceCore权限 - 实例能访问SSM服务(公网子网直接走互联网,私有子网可以配VPC端点)
操作步骤:
- 登录AWS控制台,进入EC2控制台找到你的目标实例
- 选中实例后点击顶部的「连接」按钮,切换到「会话管理器」标签页
- 点击「启动会话」,几秒后就能进入实例的命令行界面(和本地CMD一样)
- 在命令行里执行以下命令,重新开启3389端口的防火墙公网访问:
# 一键启用远程桌面组的所有防火墙规则(包含公网访问) netsh advfirewall firewall set rule group="远程桌面" new enable=Yes # 或者单独针对3389端口开放任意IP访问 netsh advfirewall firewall add rule name="Open RDP 3389 Public" dir=in action=allow protocol=TCP localport=3389 remoteip=any - 执行完退出会话,直接尝试RDP连接,应该就能正常访问了
方法二:用EC2串行控制台修复(如果已开启)
如果你的实例提前开启了EC2串行控制台,也可以用这个方式:
- 在EC2控制台选中实例,点击「连接」切换到「串行控制台」标签页
- 点击「连接」,按提示输入Windows管理员账号和密码登录系统
- 打开CMD或PowerShell,执行和方法一一样的防火墙命令即可
额外提醒
- 如果实例没配SSM权限,临时给它附加一个带
AmazonSSMManagedInstanceCore权限的IAM角色就行,修复完再调整权限也没问题 - 恢复后建议去Windows防火墙的「远程桌面」规则里检查一下,确保公网访问的复选框是勾选状态,避免再踩坑
内容的提问来源于stack exchange,提问作者Rajesh Kannan




