Google Compute Engine-Debian升级后无法使用它

时间:2018-09-01 03:33:20

标签: google-cloud-platform google-compute-engine ssh-keys

我将Debian实例从Wheezy升级到了jessie。一切顺利。我重新启动了系统,无法再从计算引擎实例页面使用它。我注意到系统确实使用不同的外部IP地址重新启动。我能够访问已在虚拟机上运行的Web服务器,因此我知道一切都已正确升级并重新启动。 Google为它分配了新的外部IP,我无法登录了。

2 个答案:

答案 0 :(得分:0)

sshd不再运行的事实是非常不可能的,因此当我无法访问Google Cloud上的实例时,这是我的个人调试步骤:

  1. 检查两次ssh参数(ssh密钥,登录用户,IP地址)
  2. 尝试连接时激活ssh调试日志(-v
  3. 尝试使用Cloud Shell
  4. 检查GCP和本地网络中的防火墙规则
  5. 检查实例串行端口上的启动日志
  6. 在GCP>计算>元数据中重新发送SSH密钥(计算机上的google用户代理有时会发生错误)

之后,您通常会知道如何连接到实例,或者知道sshd服务器出了什么问题。

答案 1 :(得分:0)

您可以查看受影响实例的串行端口日志,以获取有关此问题的可能线索。如果您有实例磁盘的快照,则可以创建一个新的VM。根据问题,最近的更改可能会影响实例启动顺序和sshd_config文件。

要解决此问题,您可以enable interactive access,通过串行控制台连接到实例,然后输入串行端口访问信息以访问磁盘,查看ssh配置文件$ sudo vi /etc/ssh/sshd_config和{{1} }。

如果您没有串行控制台的root密码,则可以使用startup script将其添加到您的实例中,如下所示:

  1. 转到Google Cloud Platform控制台中的“ VM实例”页面。
  2. 单击要为其添加启动脚本的实例。
  3. 单击页面顶部的“编辑”按钮。
  4. 点击“启用连接到串行端口”
  5. 在“自定义元数据”下,单击“添加项目”。
  6. 将“密钥”设置为“启动脚本”,并将“值”设置为此脚本:

$ sudo vi /etc/ssh/ssh_config

示例:

#! /bin/bash useradd -G sudo USERNAME echo 'USERNAME:PASSWORD' | chpasswd

  1. 单击“保存”,然后单击页面顶部的“重置”。您可能需要等待一段时间才能重新启动实例。
  2. 在页面上单击“连接到串行端口”。
  3. 在新窗口中,您可能需要稍等片刻,然后按一次Enter键;然后,您应该看到登录提示。 10 ..使用您提供的用户名和密码登录。

示例: #! /bin/bash useradd -G sudo test1 echo 'test1:pass@100' | chpasswd

您还可以共享已清理版本的串行端口日志,以获取有关实例上可能发生的情况的更多信息。这不是由于IP地址的更改,但是串行端口日志应该使我们有更多的了解。