【问题标题】:Google Cloud virtual machine instance created from snapshot not allowing ssh从快照创建的 Google Cloud 虚拟机实例不允许 ssh
【发布时间】:2019-04-03 11:17:01
【问题描述】:

我已经从生产服务器的快照创建了一个虚拟机实例。 SSH 密钥已设置。但我无法从浏览器的 putty 和 google cloud ssh 选项 ssh 进入实例。

我四处搜索,发现问题是新版本没有设置
实例的默认 IP 网关。我已设置 IP 网关并重新启动实例,但实例仍然显示相同的错误。 我还检查了实例允许的防火墙规则和端口 22 流量。 除了使用快照新创建的实例之外,同一区域中的所有其他实例都在 SSH 上工作。

从串口查看日志后ifup: failed to up up lo

错误图片

【问题讨论】:

  • 您是否从 Google Cloud Console 尝试过 SSH?使用 Google Cloud Console 计算实例页面中的串行端口 1 进行连接。日志中有错误吗?
  • 日志中只有这些错误` /sbin/dhclient-script: 28: .: Can't open /usr/share/sendmail/dynamic segfault at 7f81a189932c ip 00007f81ad1880a9 sp 00007ffca45fd550 error 6`
  • 如果你打开一个云 shell 并运行: gcloud compute --project YOURPROJECT ssh --zone YOURZONE YOURINSTANCE 你能连接吗?
  • 在运行命令并读取控制台上的所有日志之后。我能够找到错误 # Failed to start Raise network interfaces.#Failed to start System Logging Service.Any work around

标签: networking ssh server google-cloud-platform google-compute-engine


【解决方案1】:

@Patrick answer 帮助我回答,解释性步骤

  1. 1) 串行控制台。
    • 转到您的实例详细信息并启用串行端口。
    • 使用串口连接到您的实例并使用用户名和密码登录
    • 如果您没有用户通过以下脚本作为启动脚本创建一个
      #!/bin/bash 
        sudo useradd -G sudo user
        sudo echo 'user:password' | chpasswd 
  • sudo systemctl status networking.service 检查网络状态
  • 删除 /etc/network/interfaces.d/setup 文件,然后编辑您的 /etc/network/interfaces
auto lo
iface lo inet loopback
  • 通过运行 sudo systemctl status networking.service 重新启动网络服务

2) 以下启动脚本也适用于我

#!/bin/bash 
sudo dhclient eth0

【讨论】:

    【解决方案2】:

    这里的问题似乎是您的新实例的网络接口没有出现。您可以尝试以下两个步骤之一:

    1) 尝试通过serial console 连接。这不通过端口 22 连接或使用 SSH。但是,如果网卡根本没有出现,这也可能会失败。

    2) 将startup script 添加到将运行配置网卡所需的命令的实例

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-02-23
      • 2018-02-16
      • 1970-01-01
      • 1970-01-01
      • 2018-02-20
      • 1970-01-01
      • 2020-11-07
      相关资源
      最近更新 更多