我在 Google Cloud 上有一台使用 Bitnami 创建的 Linux 机器。
它运行良好,可以通过 SSH、使用 Web 控制台或 Putty 进行访问。但是今天突然无法通过 SSH 进行任何访问。当我尝试编辑虚拟机并更改 SSH 密钥或对其进行任何其他更改时,我收到以下错误消息:
Editing VM instance:"***" failed.
Error:Supplied fingerprint does not match current metadata fingerprint
VM 仍在运行,部署在其上的服务仍在运行,但无法进行任何更改。我还有大约 10 个其他 VM,它们都仍然具有 SSH 访问权限。
我曾尝试遵循 GC 文档中的几份指南,但几乎没有任何指南可以在没有命令行访问的情况下完成。
答案1
正如评论中所建议的,您应该检查为该虚拟机设置的 SSH 密钥是否正确,并且阻止项目范围的 SSH 密钥未选中。
如果没有 SSH 密钥,您可以生成自己的密钥对:在本地计算机上
运行并复制 id_rsa.pub 的内容, 选择ssh-keygen -t rsa -b 4096 -C "[email protected]"
编辑在虚拟机详细信息页面中,按显示和编辑, 然后新增项目并粘贴。
云控制台将自动检查密钥的语法。
在底部保存并尝试从本地终端或 PuTTy 访问 VM。
如果您使用不同的操作系统或需要更多信息,您可以找到它这里。
如果手动创建对不能解决问题,您可以尝试使用串行控制台访问虚拟机:
首先启用串行端口访问:
--metadata serial-port-enable=TRUE
然后添加一个临时帐户:选择受影响的虚拟机,按编辑,并添加自定义元数据:
钥匙:startup-script
价值:#!/bin/bash useradd --groups google-sudoers tempuser echo "tempuser:password" | chpasswd
保存更改并按连接到串行控制台
从那里,您可以检查 ssh 服务状态或编辑~/.ssh/authorized_keys
如果这些步骤均无帮助,您可以克隆您的实例。