Google compute engine 修复损坏的/etc/网络/接口

Google compute engine 修复损坏的/etc/网络/接口,google-compute-engine,Google Compute Engine,我在谷歌计算引擎上有一个Ubuntu 16.04虚拟机 我向etc/network/interfaces添加了一些命令,并重新启动了vm来测试它们。他们显然是不正确的,我不能再ssh到我的虚拟机。有没有一种方法可以在不使用ssh的情况下编辑/etc/network/interfaces文件来恢复vm 这个答案基于一篇文章。对Debian 9图像进行了微小的修正,并检查了解决方案 与裸机一样,如果您可以物理访问裸机,则有机会访问操作系统。GCE虚拟机也是如此:因为您可以访问虚拟机配置,所以可以进入

我在谷歌计算引擎上有一个Ubuntu 16.04虚拟机


我向etc/network/interfaces添加了一些命令,并重新启动了vm来测试它们。他们显然是不正确的,我不能再ssh到我的虚拟机。有没有一种方法可以在不使用ssh的情况下编辑/etc/network/interfaces文件来恢复vm

这个答案基于一篇文章。对Debian 9图像进行了微小的修正,并检查了解决方案

与裸机一样,如果您可以物理访问裸机,则有机会访问操作系统。GCE虚拟机也是如此:因为您可以访问虚拟机配置,所以可以进入

1.打开虚拟机实例详细信息:

GCP Console => Compute Engine => VM instances => instance_name
2.停止VM实例

3.启用对串行控制台的访问并添加启动脚本,以便创建临时用户:

=> Edit =>  
  Enable connecting to serial ports = True 
  Custom metadata
    Key = startup-script
    Value = 
      useradd --groups "google-sudoers" user3
      echo "user3:password" | chpasswd
=> Save
4.启动VM实例

5.启动后,连接到控制台:

=> Connect to serial console
6。按Enter键。出现登录提示。输入用户名(
user3
)和密码(
password
)。你会找到bash shell的。登录用户是“google sudoers”组的成员,因此他可以充当root用户:

$ groups 
  user3 google-sudoers 
$ id 
  uid=1004(user3) gid=1005(user3) groups=1005(user3),1000(google-sudoers) 
$ sudo su - 
root@instance-2:~#