【问题标题】:Fixing broken /etc/network/interfaces修复损坏的 /etc/network/interfaces
【发布时间】:2020-04-29 15:26:39
【问题描述】:

我在 Google Compute Engine 上有一个 Ubuntu 16.04 虚拟机。

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

【问题讨论】:

    标签: google-compute-engine


    【解决方案1】:

    此答案基于文章Resolving getting locked out of a Compute Engine。进行了较小的更正,并检查了 Debian 9 映像的解决方案。

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

    1.打开VM实例详情:

    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. 启动虚拟机实例。

    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:~#
    

    【讨论】:

      猜你喜欢
      • 2013-11-06
      • 2013-07-06
      • 1970-01-01
      • 1970-01-01
      • 2015-05-01
      • 1970-01-01
      • 2017-06-02
      • 2018-01-11
      • 1970-01-01
      相关资源
      最近更新 更多