Google Compute Engine 删除了授权密钥

Google Compute Engine 删除了授权密钥

我在 Google Cloud 平台上有一个实例。

我无法连接到我的实例,因为我意外删除了.ssh/authorized/keys实例中的文件。

除此之外,我使用 Google 串行连接进行连接,但作为普通用户,因此用户 I 无权更改 ssh 配置文件夹或authorized_keys再次创建。

我不知道 root 或主用户密码,因为我使用私钥连接到服务器。我该如何再次使用 ssh 连接到我的服务器?

答案1

您可以使用实例列表中实例旁边的 GUI 控制台中的“SSH”按钮连接到您的 VM,这将打开一个浏览器窗口和一个到该实例的终端会话。

如果您想通过命令行上的 SSH 客户端连接,您可以使用 gcloud 工具。

“gcloud compute ssh 示例实例”

请看这个关联了解更多信息。

它将提示您创建 SSH 密钥,然后连接到实例。

另一个选项是手动将 SSH 密钥添加到实例的元数据中,如本文所述关联您可以通过 gcloud 或通过 Google Cloud 控制台手动执行此操作。

GCE 实例的默认 ssh 身份验证是公钥身份验证,而不是基于密码的身份验证。此外,出于安全原因,大多数标准 Google 图像不提供以 root 身份直接连接的功能。实例创建者和使用元数据 sshKeys 值添加的任何用户都会自动成为该帐户的管理员,并且无需密码即可运行 sudo。虽然不建议这样做,但您需要创建一个启动脚本这将重置您的 root 密码,然后您就可以使用它了。

  1. 转到 Google Cloud Platform 控制台中的 VM 实例页面。
  2. 单击要添加启动脚本的实例。
  3. 单击页面顶部的“编辑”按钮。
  4. 点击“启用连接到串行端口”
  5. 在自定义元数据下,单击添加项目。
  6. 将“键”设置为“启动脚本”,并将“值”设置为此脚本:#! /bin/bash echo 'root:PASSWORD' | chpasswd
  7. 单击保存,然后单击页面顶部的重置。您可能需要等待一段时间才能重新启动实例。
  8. 点击页面中的‘连接到串行端口’。
  9. 在新窗口中,您可能需要等待一会儿,然后按一次键盘上的 Enter 键;然后,您应该会看到登录提示。
  10. 使用您提供的根和密码登录。

相关内容