Google cloud platform 如何在Google云计算实例上从VM外部取消UFW的活动
我在我的Google Cloud Compute debian实例上意外启用了UFW,不幸的是端口22现在被阻塞。我尝试了各种方法进入虚拟机,但我不能 我试图访问trhouth串行端口,但它要求我提供从未设置过的用户和密码 有人知道我能做什么吗 如果我可以“编辑”磁盘上的文件,就可以更改防火墙规则并禁用它。已经考虑在另一个实例上安装虚拟机磁盘,但谷歌不允许“热分离”它 还尝试从虚拟机磁盘的快照创建另一个虚拟机,但当然,新实例也出现了同样的问题Google cloud platform 如何在Google云计算实例上从VM外部取消UFW的活动,google-cloud-platform,google-compute-engine,Google Cloud Platform,Google Compute Engine,我在我的Google Cloud Compute debian实例上意外启用了UFW,不幸的是端口22现在被阻塞。我尝试了各种方法进入虚拟机,但我不能 我试图访问trhouth串行端口,但它要求我提供从未设置过的用户和密码 有人知道我能做什么吗 如果我可以“编辑”磁盘上的文件,就可以更改防火墙规则并禁用它。已经考虑在另一个实例上安装虚拟机磁盘,但谷歌不允许“热分离”它 还尝试从虚拟机磁盘的快照创建另一个虚拟机,但当然,新实例也出现了同样的问题 里面有很多重要的文件,无法进入…这是一个经典的例子,
里面有很多重要的文件,无法进入…这是一个经典的例子,当你把钥匙放在屋外关上时 当ssh目前不在Google云平台上工作时,有几种方法可以回到虚拟机中,在我看来,最简单的方法就是利用ssh 当机器启动时,您可以使用它们以Root用户身份运行脚本,这样您基本上可以在不访问虚拟机的情况下更改配置 因此,您可以:
- 只需启动一些命令即可停用UFW,然后再次访问机器
- 如果这还不够,您需要访问来修复配置,您可以使用启动脚本为根用户设置用户名和密码,然后通过串行控制台访问,因此无需ssh(基本上就像您的键盘直接连接到硬件)注意,一旦您访问该实例,删除或至少更改您刚才使用的密码对有权访问该项目的人员可见。更安全的方法是将密码写在bucket上的私有文件中,并使用启动脚本将其下载到实例上
请注意,如果需要调试脚本、读取文件内容、了解正在发生的事情等,可以将命令的输出重定向到文件,然后将文件上载到bucket。您可以尝试使用google串行端口。从那时起,您可以启用ssh
ufw allow ssh最简单的方法是创建一个禁用
ufw
的启动脚本。每次启动实例时都会执行:
#! /bin/bash
/usr/sbin/ufw disable
最后有用吗?太棒了!这解决了我使用启动脚本禁用ufw并可以使用ssh连接到实例的问题。我使用的脚本是
#/bin/bash\n ufw disable
@GalloCedrone的答案应该被接受!您可以通过gcloud命令运行上述脚本,作为gcloud compute instances add metadata example instance--metadata from file startup script=path/to/file
为了清楚起见,答案是startup script=ufw disable
这救了我的命!!非常感谢。