Loading...

记一次Oracle Cloud服务器失联抢救

Web开发 2年前 (2022) LINSIR
51 0 0

误操作开启了宝塔的系统防火墙,先说一下状态:

  • 开启了系统防火墙,导致面板、SSH均无法访问
  • 开启宝塔系统加固,无法修改密码或关闭防火墙
  • 日常使用xshell生成密钥登录,未设置opc或root密码,无法登录Cloud Shell

0x01:使用Cloud Shell以维护模式进入系统

  1. 登录Oracle Cloud(https://cloud.oracle.com/)
  2. 点击菜单中的“计算”
  3. 点击“实例”
  4. 找到对应服务器,点击“实例详细信息”
  5. 点击下方左侧“控制台连接”
  6. 点击右侧“启动 Cloud Shell 连接”
  7. 等待第二排“=”出现,有时会出现控制台报错忽略,有时掉线就重连
  8. 不要关闭Cloud Shell,在主窗口上方点击“重新引导”,并确认
  9. 完全关机后会重新启动,等待GRUB启动菜单出现(和家用电脑系统引导菜单差不多),按下 上或下键 阻止默认启动
  10. 用上键选择第一行,按下e键
  11. 加载完毕后按下CTRL+X,等待启动

0x02:临时恢复宝塔面板

  1. Cloud Shell中输入sudo -i指令,提升至root权限
  2. 由于宝塔系统加固的存在,仍不能关闭防火墙,但可以通过Cloud Shell放开所有策略:
sudo iptables -P INPUT ACCEPT
sudo iptables -P FORWARD ACCEPT
sudo iptables -P OUTPUT ACCEPT
sudo iptables -F
  1. Cloud Shell输入service bt restart指令,重新启动宝塔面板
  2. 进入宝塔面板,关闭宝塔系统加固
  3. 因为编辑模式的限制,此时仍无法关闭彻底防火墙,需要用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

到此应该就全部恢复了,如有问题尝试重启面板或防火墙

参考文献

版权声明:LINSIR 发表于 2022-10-14 17:24。
转载请注明:记一次Oracle Cloud服务器失联抢救 | LINSIR的博客

相关文章

暂无评论

您必须登录才能参与评论!
立即登录
暂无评论...