GCE:无法登录,VM guest虚拟机环境已过时并且仅支持已弃用的'sshKeys'元数据项

问题描述:

我无法再ssh进入我的Google Compute Engine(GCE)Wordpress实例。 一个月前,当我最后一次尝试时,它正在工作。 我在Chrome浏览器窗口中使用Google内置的SSH客户端。 昨天我尝试过的有以下消息:GCE:无法登录,VM guest虚拟机环境已过时并且仅支持已弃用的'sshKeys'元数据项

The VM guest environment is outdated and only supports the deprecated 'sshKeys' metadata item. Please follow the steps here to update.

的“这里的步骤”链接导航到https://cloud.google.com/compute/docs/images/configuring-imported-images#install_guest_environment这似乎并没有帮助我很多。

我不知道我可能做出的任何更改。

我该如何解决这个问题?

看起来您的实例磁盘已满,因此不能在临时目录中创建SSH密钥。你可以做到以下几点:

  1. 停止您的实例并等待它关闭
  2. 点击您的实例是使用磁盘上,然后选择“编辑”顶部
  3. 输入一个更大的磁盘大小,并保存
  4. 返回到您的实例,并再次启动

您现在应该可以通过SSH连接。当你在那里时,检查一下你的硬盘是否已经满了,这样你就可以防止这种情况再次发生(也许一个流氓程序打印出太多的日志等等)。

+0

我放大了磁盘,但ssh仍然给出了相同的错误。也许是因为我必须在Linux中扩展分区。但是我无法登录到实例,所以无法扩展它。现在怎么办? – Bart

+0

我尝试了同样的事情,增加了100GB,没有任何改变。仍然得到相同的SSH密钥错误。我也尝试制作磁盘快照并用它创建一个新实例。 – Jorvis

+0

我制作了磁盘快照并将其挂载到另一个虚拟机上。该磁盘大小为10GB,在安装的磁盘上显示只有3.2GB的磁盘空间,因此磁盘空间似乎不成问题。 – Bart

我为此创建了一个bug report here

+1

从错误报告中总结:我的问题的原因是apt autoremove已经删除了此虚拟机上的Linux客户环境(debian )。 Google已经更新了他们的软件包,将它们添加到/etc/apt/apt.conf.d/01autoremove-gce的NeverAutoRemove列表中。 – Bart

如果你看到的是上Debian的8或9,这个最有可能的原因是,google-compute-engine.*包,允许对实例的SSH访问权限已被删除apt-get autoremove

如果你有一个开放的SSH连接到机器或可以使用像gcloud这样的工具,运行apt-get update && sudo apt-get install gce-compute-image-packages应该解决这个问题。

如果您不再有任何SSH访问权限,则可以使用a procedure available on the GCP docs site来恢复它。

可能是有点晚了,但你可以

1)停止VM

2)编辑并启用串行控制台

3)使用串行连接登录并更新VM

最近几天我遇到了类似的问题,后来我发现我的主目录的权限被骗了,就像懒骨头一样,我chmod 777〜 之后做了那个,我不能通过我的终端ssh,连ssh都不能通过浏览器,只能得到'VM guest'环境已过时,只支持已弃用的'sshKeys'元数据项目,请按照此处的步骤更新'。听起来你必须设置755到你的家庭目录,而不仅仅是关心你的700 .ssh或600 authorized_keys。