连接到 Linux 虚拟机


本文档介绍了如何连接到具有外部 IP 地址的 Linux 虚拟机 (VM) 实例。如需了解如何连接到没有外部 IP 地址的虚拟机,请参阅仅限内部使用的虚拟机的连接选项

如需了解 SSH 连接在 Compute Engine 中的工作原理(包括 SSH 密钥配置和存储),请参阅与 Linux 虚拟机的 SSH 连接

准备工作

  • 设置身份验证(如果尚未设置)。身份验证是通过其进行身份验证以访问 Google Cloud 服务和 API 的过程。如需从本地开发环境运行代码或示例,您可以按如下方式向 Compute Engine 进行身份验证。

    选择标签页以了解您打算如何使用本页面上的示例:

    控制台

    当您使用 Google Cloud 控制台访问 Google Cloud 服务和 API 时,无需设置身份验证。

    gcloud

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

      gcloud init
    2. 设置默认区域和可用区

支持的操作系统

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 问题

后续步骤