使用 Cloud VPN 或 Cloud Interconnect 连接到 Linux 虚拟机


本文档介绍如何通过内部 IP 地址从使用 Cloud VPNCloud Interconnect 连接到虚拟机的 VPC 网络的本地网络连接到虚拟机 (VM) 实例。

如果虚拟机没有外部 IP 地址,则使用其内部 IP 地址连接到虚拟机会非常有用。如果虚拟机具有外部 IP 地址,请使用外部 IP 地址连接到虚拟机。如果您的本地网络未连接到虚拟机的 VPC 网络,并且您需要连接到虚拟机的内部 IP 地址,请查看仅限内部使用的虚拟机的连接选项

支持的操作系统

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

连接到虚拟机

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

gcloud

通过运行带有 --internal-ip 标志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 VM-NAME \
        --internal-ip
  3. VM_NAME 替换为要连接到的虚拟机的名称。

IAP 桌面

要使用 IAP 桌面连接到虚拟机,请执行以下操作:

  1. 在工作站上安装 IAP 桌面(如果尚未安装)。

  2. 打开 IAP 桌面。此时会打开添加项目窗口。

  3. 收到提示时,使用有权访问包含您要连接到的虚拟机的项目的 Google 账号登录。

  4. 添加项目窗口中,输入包含要连接的虚拟机的项目的项目 ID 或名称。

  5. Project Explorer 窗口中,右键点击要连接的虚拟机的名称,然后选择连接设置

  6. 连接设置窗口中,将连接方式设置为 VPC

  7. Project Explorer 窗口中,再次右键点击虚拟机的名称,然后选择连接以连接到虚拟机。

OpenSSH 客户端

通过执行以下操作,从 OpenSSH 客户端通过虚拟机的内部 IP 地址进行连接:

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

    转到虚拟机实例

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

    ssh -i PATH_TO_PRIVATE_KEY USERNAME@INTERNAL_IP

    请替换以下内容:

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

PuTTY 应用

执行以下操作,使用 PuTTY 通过虚拟机的内部 IP 地址进行连接:

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

    转到虚拟机实例

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

    USERNAME@INTERNAL_IP

    替换以下内容:

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

问题排查

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

后续步骤