AWS由于打开防火墙无法远程登陆问题

一、原因
    AWS开启防火墙(sudo ufw enable),关闭所有外部对本机的访问(xshell等无法连接),所有端口将会被关闭。

   系统:Ubuntu 14.04.4

 

二、解决方案
1.    登陆AWS管理控制台


2.    停止故障实例(不是终止,终止=停止+删除)


3.    新启动一个临时实例,临时实例系统卷大小无限制,配置尽量与故障实例相同,公网IP可设置可不设置


4.    在左侧 ELASTIC BLOCK STORE 下找到 卷 将故障实例的系统卷断开(一般情况下为挂载在根目录的 /dev/sda1 卷,连接信息为 实例ID (实例名):/dev/sda1 (attached) ,记录下连接信息方便后面使用)


5.    将故障实例系统卷连接到临时实例


6.    开启临时实例并进入临时实例系统控制台


7.    无法直接读取连接到临时实例的故障实例系统卷,可将故障实例系统卷(/dev 目录下)挂载到临时实例的某一文件夹下,进而操作故障实例系统卷。


命令: sudo mount -t ext4 /dev/xvdf test/
解释: 将/dev/xvdf格式化为ext4类型文件系统并挂载到当前路径下text/
            -t ext4 将系统卷格式化为ext4类型文件系统(卷内文件不会被删除)
            /dev/xvdf 系统卷在临时实例内的名称
            test/ 当前路径下的某一文件夹


8.    挂载完成后,通过修改防火墙配置文件 或者 添加开机启动命令 达到关闭防火墙目的。


1)    修改防火墙配置文件:
       修改 test/etc/ufw/ufw.conf 文件,将ENABLED 修改为 no . 若文件为只读可先修改文件权限,更改完内容后再改回。


2)    添加开机启动命令
       修改 test/etc/rc.local 文件,添加 sudo ufw disable,出现只读情况参考上方
       解决方案。


9.    卸载故障实例系统盘(注意:保证没有shell访问挂载点里目录,否则会卸载失败)。
       命令:sudo umount test/ /etc/xvdf


10.    关闭临时实例,并将故障实例系统盘重新挂载至故障实例(连接信息在步骤3中记录)。


11.    重新启动故障实例。


12.    使用xshell等测试防火墙是否关闭。


13.    若成功,终止临时实例

你可能感兴趣的:(服务器)