误封禁Port 22端口后,如何重新访问Google云Bitnami Drupal实例?
如何恢复封禁了SSH端口的Google Cloud Drupal Bitnami实例
别慌!你的三天工作成果完全有机会救回来,Google Cloud提供了几种不需要通过SSH就能修改实例配置的官方方法,我给你详细拆解:
方法1:使用串行控制台(Serial Console)直接登录修改防火墙
这是最直接的方法,不需要额外创建资源:
- 登录Google Cloud Console,找到你的目标实例,点击编辑按钮
- 在实例编辑页面,找到“连接”部分,勾选启用连接到串行端口,然后保存配置
- 回到实例详情页,点击连接到串行端口,打开串行控制台窗口
- 在控制台里,你可以尝试用Bitnami镜像的默认用户名
bitnami登录(如果之前没修改过的话) - 登录成功后,执行开放22端口的命令:
# 如果用的是ufw防火墙(Bitnami默认) ufw allow 22/tcp ufw reload # 如果是iptables的话 iptables -A INPUT -p tcp --dport 22 -j ACCEPT iptables-save > /etc/iptables/rules.v4 - 完成后关闭控制台,尝试用SSH重新连接实例即可
方法2:通过启动脚本自动修复防火墙
如果串行控制台无法登录(比如没有本地账户权限),可以用启动脚本在实例重启时自动修改规则:
- 同样进入实例的编辑页面,找到自定义元数据部分
- 添加一条新的元数据:
- 键:
startup-script - 值:
#!/bin/bash # 开放SSH端口 ufw allow 22/tcp # 确保防火墙规则生效 ufw reload
- 键:
- 保存配置后,重启你的实例。启动脚本会在实例启动时自动执行,帮你开放22端口
- 等待实例重启完成后,尝试SSH连接即可
方法3:通过磁盘快照挂载到临时实例修改配置
如果上面两种方法都失败,还有最后一招——直接修改磁盘上的配置文件:
- 先给目标实例的磁盘创建快照:在实例详情页找到“磁盘”,点击磁盘名称进入磁盘页面,然后点击创建快照
- 用刚才创建的快照创建一个新的磁盘:在Cloud Console的磁盘页面,点击创建磁盘,选择“从快照创建”,选择你刚做的快照
- 创建一台临时的小型实例(比如e2-micro),在创建时选择“添加额外磁盘”,把刚才的新磁盘挂载上去
- 登录临时实例,挂载这个额外磁盘:
sudo mkdir /mnt/recovery sudo mount /dev/sdb1 /mnt/recovery - 进入挂载的磁盘,修改防火墙配置文件:
- 如果是ufw,编辑
/mnt/recovery/etc/ufw/user.rules,添加类似-A ufw-user-input -p tcp --dport 22 -j ACCEPT的规则 - 如果是iptables,编辑
/mnt/recovery/etc/iptables/rules.v4,添加对应的端口规则
- 如果是ufw,编辑
- 卸载磁盘:
sudo umount /mnt/recovery - 停止临时实例,分离刚才的磁盘;然后停止原实例,把修改后的磁盘挂载回去,启动原实例
- 现在就可以正常SSH登录原实例了
这些方法都是Google官方支持的,只要你的实例磁盘没有损坏,大概率能恢复访问,不用太担心你的工作成果!
内容的提问来源于stack exchange,提问作者Sean Kenny
相关产品推荐
相关产品推荐

