TypeCodes

阿里云iptables防火墙配置出错导致ssh无法远程登录

1 悲催的 iptables 探索

由于之前对 iptables 不熟悉,所以在配置 iptables 的时候,直接执行命令iptables -F。结果导致 Securecrt 中所有连接远端服务器的窗口都断掉了,而且博客的所有页面都无法打开。心中顿时一慌,ssh无法登录,即使博客中的程序和数据库已经备份了也无法取出了。

网上搜了一下,原来在使用这个命令之前一定要先执行命令iptables -P INPUT ACCEPT

###### 即先把 policy 设定为 ACCEPT, 允许所有的封包传输. 否则, 当前连接远程服务器的终端会立即断掉
[root@typecodes ~]# iptables -P INPUT ACCEPT
###### 可以通过清除所有规则来暂时停止防火墙:(警告:这只适合在没有配置防火墙的环境中,如果已经配置过默认规则为deny的环境,此步骤将使系统的所有网络访问中断)
[root@typecodes ~]# iptables -F
2 解决方法

在多次尝试用 Securecrt 登陆失败后,就快准备用ECS快照回滚磁盘了。突然想起了阿里云服务器管理控制台的 “连接管理终端” 的功能选项。如果用这个功能还不能登录远程主机的话,那只能用快照回滚磁盘了,损失惨重。于是赶紧打开 “连接管理终端” 的界面,输入6位 VNC 密码后,竟然成功登录进去了。欢喜之余,立马执行命令

[root@typecodes ~]# ./iptables.sh* ,也就是重新设置 iptables 规则。
3 后记

问题就这样解决了,不得不感叹阿里云这个 “连接管理终端” 功能太强大了!不过,对于这个强大的功能也有一丝担忧,要是其它人知道了 root 账户密码,那么是不是也能通过这个 “连接管理终端” 获取管理权限(虽然已经设置了只能通过 ssh 方式登录)。所以,建议阿里云能增加身份验证,例如在登陆之前设置一个短信验证码之类的。

打赏支持

Comments »