本文档介绍了如何连接到具有外部 IP 地址的 Linux 虚拟机 (VM) 实例。如需了解如何连接到没有外部 IP 地址的虚拟机,请参阅仅限内部使用的虚拟机的连接选项。
如需了解 SSH 连接在 Compute Engine 中的工作原理(包括 SSH 密钥配置和存储),请参阅与 Linux 虚拟机的 SSH 连接。
准备工作
-
如果您尚未设置身份验证,请进行设置。身份验证是通过其进行身份验证以访问 Google Cloud 服务和 API 的过程。如需从本地开发环境运行代码或示例,您可以选择以下任一选项向 Compute Engine 进行身份验证:
Select the tab for how you plan to use the samples on this page:
Console
When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
gcloud
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- Set a default region and zone.
- In the Google Cloud console, go to the VM instances page.
- In the list of virtual machine instances, click SSH in the row of the instance that you want to connect to.
-
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
运行以下命令:
gcloud compute ssh --project=PROJECT_ID --zone=ZONE VM_NAME
替换以下内容:
PROJECT_ID
:包含虚拟机的项目 IDZONE
:该虚拟机所在的可用区的名称VM_NAME
:虚拟机的名称
如果您已为 Google Cloud CLI 设置默认属性,则可以在此命令中省略
--project
和--zone
标志。例如:gcloud compute ssh VM_NAME
- 将 SSH 密钥添加到虚拟机(如果尚未添加)。
在 Google Cloud 控制台中,前往虚拟机实例页面,然后找到要连接的虚拟机的外部 IP 地址。
- 在您的工作站上打开一个终端。
通过运行以下命令连接到虚拟机:
ssh -i PATH_TO_PRIVATE_KEY USERNAME@EXTERNAL_IP
替换以下内容:
PATH_TO_PRIVATE_KEY
:与您添加到虚拟机的公钥对应的 SSH 私钥文件的路径。USERNAME
: 您的用户名。如果您在元数据中管理 SSH 密钥, 则用户名是您在创建 SSH 密钥时指定的名称。 对于 OS Login 账号,用户名在 Google 个人资料中定义。例如cloudysanfrancisco_example_com
或cloudysanfrancisco
。-
EXTERNAL_IP
:虚拟机的外部 IP 地址。
- 将 SSH 密钥添加到虚拟机(如果您尚未执行此操作)。
- 如果您的工作站尚未安装 PuTTY 应用,请下载 PuTTY 软件包文件。
在 Google Cloud 控制台中,前往虚拟机实例页面,然后找到要连接的虚拟机的外部 IP 地址。
- 打开 PuTTY 应用;系统随即会打开一个连接配置窗口。
在
Host Name
字段中,输入与 SSH 密钥关联的用户名,以及要连接的虚拟机的外部 IP 地址。请使用以下格式:USERNAME@EXTERNAL_IP
替换以下内容:
USERNAME
: 您的用户名。如果您在元数据中管理 SSH 密钥, 则用户名是您在创建 SSH 密钥时指定的名称。 对于 OS Login 账号,用户名在 Google 个人资料中定义。例如cloudysanfrancisco_example_com
或cloudysanfrancisco
。-
EXTERNAL_IP
:虚拟机的外部 IP 地址。
- 在类别菜单中,依次点击连接> SSH > 身份验证。
- 在用于身份验证的私钥文件字段中,选择与您添加到虚拟机的公钥对应的 SSH 私钥文件。
- 点击打开以连接到虚拟机。
将 SSH 密钥添加到虚拟机(如果尚未添加)。
在 Chromebook 或 Chrome 浏览器中安装安全外壳 (SSH)(如果您尚未执行此操作)。
在 Google Cloud 控制台中,前往虚拟机实例页面,找到要连接的虚拟机的外部 IP 地址。
通过执行以下操作,在 Chrome 浏览器标签页地址栏中打开安全外壳 (SSH):
- 输入
ssh
。 - 按
Space
。 - 按
Enter
。
- 输入
点击 [新建连接]。
在用户名字段中,输入您的用户名。如果您在元数据中管理 SSH 密钥,则用户名是您在创建 SSH 密钥时指定的名称。对于 OS Login 账号,用户名在 Google 个人资料中定义。例如
cloudysanfrancisco_example_com
或cloudysanfrancisco
。在主机名字段中,输入虚拟机的外部 IP 地址。
在身份字段中,点击“导入…”,然后选择与您添加到虚拟机的公钥对应的 SSH 私钥文件的路径。
点击 [建立] 连接以连接到虚拟机。
- 了解如何管理对虚拟机的访问权限。
- 了解如何将文件传输到虚拟机。
- 了解到 Linux 虚拟机的 SSH 连接在 Compute Engine 上的工作原理。
支持的操作系统
Compute Engine 上提供的所有公共 Linux 映像都支持这些连接方法。对于 Fedora CoreOS 映像,您必须先设置 SSH 访问,然后才能使用这些方法。
连接到虚拟机
如需连接到虚拟机,请完成以下任一标签页中的步骤。
控制台
通过执行以下操作,在 Google Cloud 控制台中使用 SSH-in-Browser 连接到虚拟机:
gcloud
通过运行
gcloud compute ssh
命令使用 SSH 连接到虚拟机:OpenSSH 客户端
如需从 OpenSSH 客户端使用 SSH 连接到虚拟机,请执行以下操作:
PuTTY 应用
如需从 Windows PuTTY 应用使用 SSH 连接到虚拟机,请执行以下操作:
安全外壳 (SSH) Chrome 应用
如需通过安全外壳 (SSH) Chrome 应用使用 SSH 连接到虚拟机,请执行以下操作:
问题排查
如需查找诊断和解决失败的 SSH 连接问题的方法,请参阅排查 SSH 问题。
后续步骤
如未另行说明,那么本页面中的内容已根据知识共享署名 4.0 许可获得了许可,并且代码示例已根据 Apache 2.0 许可获得了许可。有关详情,请参阅 Google 开发者网站政策。Java 是 Oracle 和/或其关联公司的注册商标。
最后更新时间 (UTC):2024-12-18。
-