连接到 Linux 虚拟机


本文档介绍了如何连接到具有外部 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

    1. 安装 Google Cloud CLI,然后通过运行以下命令初始化 Google Cloud CLI:

      gcloud init
    2. Set a default region and zone.

支持的操作系统

Compute Engine 上提供的所有公共 Linux 映像都支持这些连接方法。对于 Fedora CoreOS 映像,您必须先设置 SSH 访问,然后才能使用这些方法。

连接到虚拟机

如需连接到虚拟机,请完成以下任一标签页中的步骤。

控制台

通过执行以下操作,在 Google Cloud 控制台中使用 SSH-in-Browser 连接到虚拟机:

  1. 在 Google Cloud 控制台中,转到虚拟机实例页面。

    转到“虚拟机实例”

  2. 在虚拟机实例列表中,点击要连接的实例所在行中的 SSH

    实例名称旁边的 SSH 按钮。

gcloud

通过运行 gcloud compute ssh 命令使用 SSH 连接到虚拟机:

  1. 在 Google Cloud 控制台中,激活 Cloud Shell。

    激活 Cloud Shell

    Cloud Shell 会话随即会在 Google Cloud 控制台的底部启动,并显示命令行提示符。Cloud Shell 是一个已安装 Google Cloud CLI 且已为当前项目设置值的 Shell 环境。该会话可能需要几秒钟时间来完成初始化。

  2. 运行以下命令:

    gcloud compute ssh --project=PROJECT_ID --zone=ZONE VM_NAME

    通过运行以下命令连接到虚拟机:

    • PROJECT_ID:包含虚拟机的项目 ID
    • ZONE:该虚拟机所在的可用区的名称
    • VM_NAME:虚拟机的名称

    如果您已为 Google Cloud CLI 设置默认属性,则可以在此命令中省略 --project--zone 标志。例如:

    gcloud compute ssh VM_NAME

OpenSSH 客户端

如需从 OpenSSH 客户端使用 SSH 连接到虚拟机,请执行以下操作:

  1. 将 SSH 密钥添加到虚拟机(如果尚未添加)。
  2. 在 Google Cloud 控制台中,前往虚拟机实例页面,找到要连接的虚拟机的外部 IP 地址。

    转到虚拟机实例

  3. 在您的工作站上打开一个终端。
  4. 通过运行以下命令连接到虚拟机:

    ssh -i PATH_TO_PRIVATE_KEY USERNAME@EXTERNAL_IP

    请替换以下内容:

    • PATH_TO_PRIVATE_KEY:与您添加到虚拟机的公钥对应的 SSH 私钥文件的路径。
    • USERNAME:您的用户名。如果您在元数据中管理 SSH 密钥,则用户名是您在创建 SSH 密钥时指定的名称。对于 OS Login 账号,用户名在 Google 个人资料中定义。例如 cloudysanfrancisco_example_comcloudysanfrancisco
    • EXTERNAL_IP:虚拟机的外部 IP 地址。

PuTTY 应用

如需从 Windows PuTTY 应用使用 SSH 连接到虚拟机,请执行以下操作:

  1. 将 SSH 密钥添加到虚拟机(如果尚未添加)。
  2. 如果您的工作站尚未安装 PuTTY 应用,请下载 PuTTY 软件包文件
  3. 在 Google Cloud 控制台中,前往虚拟机实例页面,找到要连接的虚拟机的外部 IP 地址。

    转到虚拟机实例

  4. 打开 PuTTY 应用;系统随即会打开一个连接配置窗口。
  5. Host Name 字段中,输入与 SSH 密钥关联的用户名,以及要连接的虚拟机的外部 IP 地址。请使用以下格式:

    USERNAME@EXTERNAL_IP

    替换以下内容:

    • USERNAME:您的用户名。如果您在元数据中管理 SSH 密钥,则用户名是您在创建 SSH 密钥时指定的名称。对于 OS Login 账号,用户名在 Google 个人资料中定义。例如 cloudysanfrancisco_example_comcloudysanfrancisco
    • EXTERNAL_IP:虚拟机的外部 IP 地址。
  6. 类别菜单中,依次点击连接> SSH > 身份验证
  7. 用于身份验证的私钥文件字段中,选择与您添加到虚拟机的公钥对应的 SSH 私钥文件。
  8. 点击打开以连接到虚拟机。

安全外壳 (SSH) Chrome 应用

如需通过安全外壳 (SSH) Chrome 应用使用 SSH 连接到虚拟机,请执行以下操作:

  1. 将 SSH 密钥添加到虚拟机(如果尚未添加)。

  2. 在 Chromebook 或 Chrome 浏览器中安装安全外壳 (SSH)(如果您尚未执行此操作)。

  3. 在 Google Cloud 控制台中,前往虚拟机实例页面,找到要连接的虚拟机的外部 IP 地址。

    打开“虚拟机实例”

  4. 通过执行以下操作,在 Chrome 浏览器标签页地址栏中打开安全外壳 (SSH):

    • 输入 ssh
    • Space
    • Enter
  5. 点击 [新建连接]

  6. 用户名字段中,输入您的用户名。如果您在元数据中管理 SSH 密钥,则用户名是您在创建 SSH 密钥时指定的名称。对于 OS Login 账号,用户名在 Google 个人资料中定义。例如 cloudysanfrancisco_example_comcloudysanfrancisco

  7. 主机名字段中,输入虚拟机的外部 IP 地址。

  8. 身份字段中,点击“导入…”,然后选择与您添加到虚拟机的公钥对应的 SSH 私钥文件的路径。

  9. 点击 [建立] 连接以连接到虚拟机。

问题排查

如需查找诊断和解决失败的 SSH 连接问题的方法,请参阅排查 SSH 问题

后续步骤