如果您使用 Google Compute Engine 来运行您的应用程序,您可能希望允许特定用户通过 SSH 访问您的实例。为此,您必须向您的 Google 计算实例添加授权密钥。
本文将指导您完成将授权密钥添加到您的 Google 计算实例所需的步骤。
Google Compute Engine 是一个强大的云计算平台,允许您在虚拟机 (VM) 上运行您的应用程序。
VM 实例是预配置的模板,可让您快速创建和运行实例。
您可以使用 Google Cloud 控制台或命令行界面配置和管理您的实例。

设置您的授权密钥:
现在您已经生成了 SSH 密钥对,您必须将公钥添加到 Google Compute Engine 实例。
这样做可以让你 连接到实例 使用您的私钥。
有几种方法可以完成此操作,但我们将使用 Google Cloud Platform Console。如果您还没有这样做,请前往 谷歌云控制台 并创建一个项目。
创建项目后,从左侧菜单中选择 Compute Engine,然后单击元数据。在页面顶部,从下拉菜单中选择 SSH Keys,然后单击 Add Item。
在弹出框中,输入您的密钥名称并将您的公钥粘贴到值字段中。在您的电子邮件地址中包含 ssh-rsa 前缀和结尾注释。完成后,单击添加。
您现在应该会在 SSH 密钥下看到新的 SSH 密钥。您可以通过重复这些步骤来添加密钥,或者通过单击每个条目旁边的相应按钮来编辑/删除现有密钥。
使用元数据 API 管理 SSH 密钥
您可以使用元数据 API 来管理 Google Compute Engine 的 SSH 密钥。元数据 API 使您能够添加、删除和列出项目实例的 SSH 密钥。
您还可以使用元数据 API 来指定应将哪些 SSH 密钥用于特定实例。
添加授权密钥:
要添加授权密钥,您需要在请求中指定以下值:
- 要添加 SSH 密钥的实例的名称。
- 您要添加的公钥。这应该是标准的 ssh-rsa 格式。
- 公钥的指纹。这可以使用 ssh-keygen 命令生成。
删除授权密钥:
要删除授权密钥,您需要在请求中指定以下值:
- 要从中删除 SSH 密钥的实例的名称。
- 您要删除的公钥。这应该是标准的 ssh-rsa 格式。
- 公钥的指纹。这可以使用 ssh-keygen 命令行工具生成。
创建密钥对
Google Compute Engine 使用公钥密码术来加密和解密登录信息。
您的私钥存储在本地计算机上,应妥善保管。您的公钥会上传到 Google Compute Engine 并用于验证您的登录。
您将需要使用诸如 ssh-keygen 之类的工具来生成密钥对。这将创建一个私钥和公钥对以上传到 Google Compute Engine。
创建密钥对时,必须使用强密码。强密码很难猜测或暴力破解。
组合大小写字母、数字和符号是创建强密码短语的绝佳方式。
生成密钥对后,您必须将公共关键部分上传到 Google Compute Engine。
您可以登录 Google Cloud Platform Console 并访问 VM Instances 页面。
从那里,选择您要为其添加授权密钥的实例,然后单击“编辑”按钮。在授权密钥部分,粘贴您的公钥并单击保存。
设置 Keystone 和 SSH 密钥环
在将授权密钥添加到您的 Google Compute Engine 实例之前,您必须设置 keystone 和 SSH 密钥环。就是这样:
- 创建一个名为“基石” 在您的主目录中。 $ touch ~/梯形校正
- 将以下行添加到文件中,将“和”替换为适合您帐户的值:[auth]
用户名 =
项目名称= - 保存并关闭文件。
- 使用 ssh-keygen 创建新的 SSH 密钥对: $ ssh-keygen -t rsa -f ~/.ssh/ -C @
- 出现提示时输入密码。这将用于加密您的私钥;确保选择一个您不会忘记的强密码! $ 输入密码:*
确认密码:* - 接下来,我们会将新生成的公钥添加到 Google Compute Engine 实例。登录 GCE 控制台,选择包含您的实例的项目,然后单击“计算“ 标签。然后,单击“网络”,然后单击“SSH 密钥”点击“添加 SSH 密钥“ 按钮。
- 在里面 ”姓名”字段,为密钥输入一个好记的名称。在里面 ”公钥”字段,输入您的公钥内容(位于 ~/.ssh/id_rsa.pub)并单击“添加.”
- 最后,使用 ssh-add 保存您的 SSH 密钥环: $ ssh-add ~/.ssh/
验证公钥
假设您已经生成了公钥/私钥对,下一步就是验证公钥。有两种主要方法可以做到这一点:
- 手动检查 SSH 指纹: 当你第一次连接到服务器时,你会看到一个 SSH 指纹。将此指纹与服务器网站或其文档中列出的指纹进行比较。如果它们匹配,您可以确信您正在连接到正确的服务器。
- 使用 known_hosts 文件: known_hosts 文件包含您之前连接到的所有服务器的列表。当您连接到新服务器时,它的指纹将与您的 known_hosts 文件中的指纹进行比较。如果匹配,您可以在没有任何警告的情况下连接。如果没有匹配项,您将收到警告,并可以选择继续或取消连接。
如何将授权密钥添加到 Google 计算实例
要将授权密钥添加到您的 Google 计算实例,您需要执行以下步骤:
- 登录到您的 Google Cloud 控制台并浏览 VM 实例页面。
- 选择要添加授权密钥的实例,然后单击“编辑”按钮。
- 滚动到“SSH 密钥”部分,然后单击“添加项目”按钮。
- 在文本框中,粘贴要添加的公钥。
- 单击“保存”按钮以保存更改。
就是这样!现在您已将授权密钥添加到您的 Google 计算实例,您可以使用它通过 SSH 登录。
值得注意的是,SSH 密钥由公钥和私钥组成。公钥被添加到您的谷歌计算实例,而私钥保存在您的本地机器上。
当您通过 SSH 登录时,您的本地计算机使用私钥通过实例上的公钥进行身份验证。
要创建 SSH 密钥,您可以在本地计算机上使用 ssh-keygen 命令。这将生成一个公钥/私钥对,您可以使用该密钥对您的 Google 计算实例进行身份验证。
除了向您的实例添加授权密钥外,您还可以从 Google Cloud 控制台查看和管理您的实例元数据。
实例元数据是实例上运行的应用程序可用的有关实例的信息集合。
要查看您的实例元数据,您可以在 Cloud 控制台中使用以下命令:
curl "http://metadata.google.internal/computeMetadata/v1/instance/?recursive=true" -H "Metadata-Flavor: Google"
这将显示与您的实例关联的所有元数据的列表。
如果你想在项目范围内创建 SSH 密钥,请将其添加到项目的“元数据”部分。这将允许您在项目中的所有实例中使用相同的 SSH 密钥。
结论:
总之,向您的 Google 计算实例添加授权密钥非常简单。
按照本文中概述的步骤,您可以快速将 SSH 密钥添加到您的实例并允许特定用户访问它。
请记住确保您的私钥安全可靠,并根据需要配置您的实例元数据。考虑到这些最佳实践,您可以自信地享受 Google Compute Engine 的优势。