题 GCE:无法登录,VM来宾环境已过时,仅支持已弃用的'sshKeys'元数据项


我不能再进入我的Google Compute Engine(GCE)Wordpress实例了。 它是在一个月前我上次尝试时工作的。 我在Chrome浏览器窗口中使用Google内置SSH客户端。 昨天我试过得到以下消息:

VM guest虚拟机环境已过时,仅支持已弃用   'sshKeys的元数据项。请按照此处的步骤进行更新。

“此处的步骤”链接导航到 https://cloud.google.com/compute/docs/images/configuring-imported-images#install_guest_environment 这似乎对我没什么帮助。

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

我怎样才能解决这个问题?


11
2017-10-18 08:04


起源




答案:


看起来您的实例的磁盘已满,因此无法在临时目录中创建SSH密钥。您可以执行以下操作:

  1. 停止您的实例并等待它关闭
  2. 单击您的实例正在使用的磁盘,然后选择顶部的“编辑”
  3. 输入更大的磁盘大小,然后保存
  4. 返回到您的实例并重新启动它

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


8
2017-10-19 00:34



我放大了磁盘,但ssh仍然给出了相同的错误。也许是因为我必须在Linux中扩展分区。但是我无法登录到实例,所以我无法扩展它。现在怎么办? - Bart
我尝试了同样的事情,增加了100GB,没有任何改变。仍然得到相同的SSH密钥错误。我还尝试制作磁盘快照并用它创建一个新实例。 - Jorvis
我制作了磁盘的快照并将其安装在另一个虚拟机上。磁盘大小为10GB,挂载磁盘上的duks显示只有3.2GB,因此磁盘已满是问题。 - Bart
如果您无法通过SSH连接到实例,则可以通过读取串行端口输出来检查磁盘使用情况 console.cloud.google.com/compute/instancesDetail/...。应该有一条消息说明......“写错误:设备上没有剩余空间” - John


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

如果您有与机器的开放SSH连接,或者可以使用类似的工具 gcloud,跑步 apt-get update && sudo apt-get install gce-compute-image-packages 应该解决这个问题

如果您不再拥有任何SSH访问权限,则有 GCP文档站点上提供的过程 可以用来恢复它。


1
2018-01-15 05:39





我创造了一个 bug报告在这里 为了这。


0
2017-10-19 15:30



总结一下错误报告:我的问题的原因是apt autoremove已经删除了这个vm(debian)上的Linux Guest Environment。 Google已更新其软件包,将其添加到/etc/apt/apt.conf.d/01autoremove-gce中的NeverAutoRemove列表中。 - Bart


可能会有点晚,但你可以

1)停止VM

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

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


0
2018-01-22 03:33





最近几天,我遇到类似的问题,后来我发现我的主目录的权限愚弄了我,作为一个懒骨头,我chmod 777~ 在这之后,我不能通过我的终端ssh,甚至不能通过浏览器ssh,只得到'VM访客环境已过时,只支持已弃用的'sshKeys'元数据项,请按照此处的步骤进行更新'。听起来你必须将755设置为你的家庭目录,而不仅仅是关注700 .ssh或600 authorized_keys。


0
2018-02-07 01:58





我创建了一个FreeBSD VM之后遇到了类似的问题,gcloud ssh不行,但我很幸运,我可以使用浏览器窗口ssh到我的VM。然后我手动将google_compute-engine公钥添加到.ssh / authorized_keys,现在它可以工作,我可以使用gcloud ssh进行连接。但不确定这是否是一种更好/更安全的方式。


0
2018-04-02 06:51