我意外地删除了 Google Cloud VM 上带有 SSH 密钥的用户配置文件,因此现在我甚至无法连接到该机器。这没什么大不了的,因为该 VM 是用于测试目的,但如果将来出现类似情况,知道该怎么做就好了。
答案1
你有没有尝试去https://console.cloud.google.com/security/kms并检索公钥?
答案2
如果您错误地删除了 SSH 密钥,您可以选择多种选项来访问您的实例:
操作系统登录:它将允许您使用 Compute Engine IAM 角色来管理对 Linux 实例的 SSH 访问。此外,您还可以添加额外的安全层,使用双因素身份验证对其进行配置,在组织级别管理访问,设置组织政策
管理元数据中的 SSH 密钥:通过手动创建 SSH 密钥和编辑公共 SSH 密钥元数据来访问 Linux 实例。
除了 SSH,您还可以使用串行控制台访问您的实例。
- 首先,你需要启用串行控制台访问在那种情况下。
- 如果您知道此 VM 实例的 root 用户帐户的密码,请尝试使用 root 帐户通过串行控制台进行访问。
- 如果您不记得密码或从未设置密码,请按照以下步骤操作:
-
- 转到 VM 实例页面并单击 VM 的实例名称
-
- 点击页面顶部的“编辑”按钮
-
- 在自定义元数据下,单击添加项目
-
- 将“key”设置为启动脚本,并使用以下脚本设置“Value”:
#!/bin/bash echo "root:<---您的密码--->" | chpasswd
注意:将值“<---YOUR-PASSWORD--->”更改为您选择的密码。出于安全原因,我建议您在重新获得实例访问权限后删除启动脚本并从实例内部更改密码,否则任何有权查看此虚拟机的人都可以看到密码。
- 重新启动您的实例,这样启动脚本就会被执行。
- 现在你应该能够使用串行控制台
问候