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 »