误操作开启了宝塔的系统防火墙,先说一下状态:
- 开启了系统防火墙,导致面板、SSH均无法访问
- 开启宝塔系统加固,无法修改密码或关闭防火墙
- 日常使用xshell生成密钥登录,未设置opc或root密码,无法登录Cloud Shell
0x01:使用Cloud Shell以维护模式进入系统
- 登录Oracle Cloud(https://cloud.oracle.com/)
- 点击菜单中的“计算”
- 点击“实例”
- 找到对应服务器,点击“实例详细信息”
- 点击下方左侧“控制台连接”
- 点击右侧“启动 Cloud Shell 连接”
- 等待第二排“=”出现,有时会出现控制台报错忽略,有时掉线就重连
- 不要关闭Cloud Shell,在主窗口上方点击“重新引导”,并确认
- 完全关机后会重新启动,等待GRUB启动菜单出现(和家用电脑系统引导菜单差不多),按下 上或下键 阻止默认启动
- 用上键选择第一行,按下e键
- 加载完毕后按下CTRL+X,等待启动
0x02:临时恢复宝塔面板
- Cloud Shell中输入
sudo -i
指令,提升至root权限 - 由于宝塔系统加固的存在,仍不能关闭防火墙,但可以通过Cloud Shell放开所有策略:
sudo iptables -P INPUT ACCEPT
sudo iptables -P FORWARD ACCEPT
sudo iptables -P OUTPUT ACCEPT
sudo iptables -F
- Cloud Shell输入service bt restart指令,重新启动宝塔面板
- 进入宝塔面板,关闭宝塔系统加固
- 因为编辑模式的限制,此时仍无法关闭彻底防火墙,需要用Cloud Shell找回我们的root密码并退出维护模式
bash#
sudo mount -o remount,rw /
echo root:pw123456 |sudo chpasswd root
/usr/sbin/reboot -f
0x03:完全恢复
系统完全启动后,在Cloud Shell中用pw123456这个密码登录root权限,执行以下命令:
#停止firewall
systemctl stop firewalld.service
#禁止firewall开机启动
systemctl disable firewalld.service
#关闭iptables
service iptables stop
#去掉iptables开机启动
chkconfig iptables off
到此应该就全部恢复了,如有问题尝试重启面板或防火墙
参考文献
相关文章
暂无评论...