默认情况下,新的 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.