如何访问 Google Cloud Platform Compute Engine VM 实例的 SSH 密钥?

2024-05-07

我通过 Google Cloud Web 控制台从 CentOS 6.x 映像创建了一个新实例。我在创建表单上看到一个空白,我可以在其中粘贴现有的 SSH 密钥;因为这是我的第一个实例,所以我还没有。我以为它会像 Amazon EC2 一样引导我完成密钥创建过程。事实并非如此。

该实例似乎已创建,但我不知道如何获取它的 SSH 密钥。实例网页有一个显示“SSH”的按钮,它让我可以通过模拟 SSH 会话的弹出式 Web 浏览器窗口短暂登录。但是,它只让我进入用户级帐户,而不是root。弹出窗口有一个菜单项可以更改用户并将其更改为root除了产生连接错误之外什么也不做。现在我根本无法登录我的实例!

我进行了搜索,但找不到任何直接的文档来解释 Google Compute 实例的这一方面。

我是否必须手动创建自己的 SSH 密钥并在实例创建期间将其粘贴到表单中?我缺少明显的步骤吗?


Answer recommended by Google Cloud /collectives/google-cloud Collective

默认情况下,新的 Google 计算引擎 (GCE) VM 实例没有预先分配 SSH 密钥,因此您无法“检索”它们,因为它们不存在 - 由您来创建它们,或使用工具喜欢gcloud(见下文)如果您还没有 SSH 密钥,它将提示您创建它们。

您有多种连接到新创建的 GCE VM 的选项。

一种选择是使用实例列表中实例旁边的开发者控制台 GUI 中的“SSH”按钮进行连接,这将打开浏览器窗口和到该实例的终端会话。

如果您想在命令行上通过 SSH 客户端连接,您可以使用gcloud https://cloud.google.com/sdk/gcloud工具(部分谷歌云SDK https://cloud.google.com/sdk/):

gcloud compute ssh example-instance

您可以在上看到完整的标志和选项集gcloud compute ssh https://cloud.google.com/sdk/gcloud/reference/compute/ssh帮助页面,以及几个示例。

如果您还没有 SSH 密钥,它会提示您创建它们,然后连接到实例。如果您已有密钥,则可以使用现有的 SSH 密钥,它将传输到实例。

默认情况下,gcloud期望密钥位于以下路径:

  • $HOME/.ssh/google_compute_engine– 私钥
  • $HOME/.ssh/google_compute_engine.pub– 公钥

如果您想从不同位置重复使用密钥gcloud,考虑创建符号链接或指向gcloud在那里使用--ssh-key-file https://cloud.google.com/sdk/gcloud/reference/compute/ssh flag.

Note:如果你不使用gcloud无论如何,您必须手动将 SSH 密钥添加到实例的元数据中,如中所述在实例级别设置 ssh 密钥 https://cloud.google.com/compute/docs/instances/adding-removing-ssh-keys你可以通过gcloud或手动通过谷歌云控制台 https://cloud.google.com/console.

您还可以使用创建自己的密钥ssh-keygen这是什么gcloud也将在被子下使用。您可以连接到实例using ssh直接地 https://cloud.google.com/compute/docs/instances#standardssh代替gcloud但您需要指定额外的参数才能执行此操作:

ssh -i KEY_FILE -o UserKnownHostsFile=/dev/null \
    -o CheckHostIP=no -o StrictHostKeyChecking=no \
    USER@IP_ADDRESS

这将需要以下参数:

  • KEY_FILE– [必填] 计算机上存储密钥的文件,例如:~/.ssh/google_compute_engine.

  • USER– [必需] 登录该实例的用户名。通常,这是运行的本地用户的用户名gcloud compute.

  • IP_ADDRESS– [必填] 实例的外部IP地址。

有关更多详细信息,请参阅SSH docs https://cloud.google.com/compute/docs/instances#sshing.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何访问 Google Cloud Platform Compute Engine VM 实例的 SSH 密钥? 的相关文章

随机推荐