EC2 因开启Windows自带防火墙,造成无法用RDP远程桌面连接的解决方案
EC2 因开启Windows自带防火墙,造成无法用RDP远程桌面连接的解决方案
当AWS EC2实例因Windows防火墙开启而无法通过RDP远程连接时,可以采用以下解决方案:将故障实例的系统盘挂载到另一台正常运行的Windows服务器上,通过修改注册表来关闭防火墙,最后将系统盘重新挂载回故障实例。
- 把故障机的系统硬盘卸下来,挂载到一台新的Windows服务器上作为从盘
- 启动新的服务器,执行注册表管理,找到从盘里故障机系统盘里的注册表文件,导入到新服务器注册表中修改防火墙开关值(1改成0)
- 关机卸载故障机系统盘,重新挂载回故障机里
- 故障机开机后防火墙已经被关闭,可以远程连接了
A电脑是无意开启防火墙的EC2实例(Windows系统)
B电脑是另一台Windows系统实例,没有就新建,有的话就用现成的,不会影响当前主机系统
下图是先分离A电脑的磁盘(卷)
下图是把A的5067系统卷挂在到B实例名下
下图可以看出此时B实例上有两个卷了
此时开启B实例,进入系统
在Windows注册表中,相关设置如下:
计算机\HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Terminal Server\fDenyTSConnections
- 1 表示启用拒绝远程协助。0 表示启用远程协助
Windows防火墙的配置可以在以下路径找到:
开启/关闭防火墙:1 表示启用防火墙。0 表示禁用防火墙。
对于域网络配置:
路径:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\DomainProfile
键值:EnableFirewall
类型:DWORD (32-bit)
ControlSet001 就是 CurrentControlSet,是当前系统当前
具体来说,\SYSTEM\CurrentControlSet 会指向当前系统正在使用的 ControlSet,这通常是 ControlSet001 或 ControlSet002。因此,当你访问 \SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\DomainProfile 时,实际上你是在访问当前活动的 ControlSet
对于专用(家庭或工作)网络配置:
路径:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\StandardProfile
键值:EnableFirewall
类型:DWORD (32-bit)
对于公用网络配置:
路径:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\PublicProfile
键值:EnableFirewall
类型:DWORD (32-bit)
这里参考官方文档,但是官方文档说的太文字化,太抽象。配合着LZ的图更容易理解
更改完,关闭注册表,关闭B实例,
再把D:那个卷分离,还给A实例。启动就OK了。
本文原文来自CSDN