使用 SSH 连接到 Windows 虚拟机


本文档介绍了如何使用 SSH 连接到 Windows 虚拟机 (VM) 实例。如需了解连接到 Windows 虚拟机的其他方法,请参阅使用 RDP 连接到 Windows 虚拟机使用 PowerShell 连接到 Windows 虚拟机。如需了解 SSH 在 Compute Engine 中的工作原理,请参阅 SSH 连接简介

准备工作

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

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

    控制台

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

    gcloud

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

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

支持的图片

运行客机代理 (GCEGuestAgent) 版本 20220527.00 或更高版本的 Windows Server 映像支持适用于 Windows 的 SSH。

为 Windows 虚拟机启用 SSH

如需启用与 Windows 虚拟机的 SSH 连接,请安装 google-compute-engine-ssh 软件包并在项目或实例元数据中将 enable-windows-ssh 密钥设置为 TRUE。如果在项目元数据中启用适用于 Windows 的 SSH,则会为项目中的所有 Windows 虚拟机启用 SSH。如果在实例元数据中启用适用于 Windows 的 SSH,则会为单个虚拟机启用 SSH 并替换项目元数据中设置的值。

在创建虚拟机时启用适用于 Windows 的 SSH

使用 Google Cloud 控制台或 Google Cloud CLI 创建虚拟机时启用适用于 Windows 的 SSH。

控制台

通过公共映像创建虚拟机,以安装 google-compute-engine-ssh 软件包并在启动时启用 SSH:

  1. 指定以下启动磁盘属性:

    • 操作系统:Windows Server
    • 版本:任何版本
  2. 高级选项部分中,展开管理部分。

  3. 元数据部分,点击添加项。 通过输入以下元数据键值对,添加安装 google-compute-engine-ssh 软件包的启动脚本:

    • sysprep-specialize-script-cmd
    • googet -noconfirm=true install google-compute-engine-ssh
  4. 元数据部分,点击添加项。 通过输入以下元数据键值对,将 enable-windows-ssh 设置为 TRUE

    • enable-windows-ssh
    • TRUE
  5. 点击创建以创建并启动虚拟机。

gcloud

运行以下 gcloud compute instances create 命令,创建 Windows Server 虚拟机以安装 google-compute-engine-ssh 软件包并在启动时启用 SSH:

gcloud compute instances create VM_NAME \
    --image-family=IMAGE_FAMILY \
    --image-project=windows-cloud \
    --metadata sysprep-specialize-script-cmd="googet -noconfirm=true install google-compute-engine-ssh",enable-windows-ssh=TRUE

请替换以下内容:

  • VM_NAME:新虚拟机的名称。
  • IMAGE_FAMILYWindows Server 映像系列。此项表示通过最新的未弃用的 Windows Server 映像创建虚拟机。

在运行中的虚拟机上启用适用于 Windows 的 SSH

如需在正在运行的 Windows 虚拟机上启用 SSH,请执行以下操作之一,具体取决于您是可以使用 RDP 访问虚拟机,还是您的工作负载可以容忍重新启动:

  • 需要 RDP 访问权限:使用 RDP 连接到虚拟机并安装 SSH 软件包
  • 需要重新启动:使用启动脚本安装 SSH 软件包

RDP

如果您可以使用 RDP 访问虚拟机,请执行以下操作以启用 SSH:

  1. 使用 RDP 连接到虚拟机

  2. 通过执行以下操作打开管理员命令提示符会话:

    1. 打开开始菜单。

    2. 转到命令提示符

    3. 右键点击命令提示符,然后选择以管理员身份运行

      如果系统提示您允许命令提示符更改设备,请选择

  3. 通过运行以下命令下载并安装 google-compute-engine-ssh 软件包:

    googet -noconfirm=true update google-compute-engine-windows && googet -noconfirm=true install google-compute-engine-ssh
    
  4. 关闭 RDP 会话。

  5. 通过将 enable-windows-ssh 密钥设置为 TRUE,在元数据中启用 Windows SSH。如需详细了解如何设置元数据,请参阅设置自定义元数据

启动脚本

如果您无法使用 RDP 访问虚拟机,请执行以下操作以启用 SSH:

  1. 停止虚拟机

  2. 在虚拟机上设置以下元数据键值对以启用 SSH。如需详细了解如何设置元数据,请参阅设置自定义元数据

    • SSH 软件包安装元数据:

      • windows-startup-script-cmd
      • googet -noconfirm=true update && googet -noconfirm=true install google-compute-engine-ssh
    • SSH 启用元数据:

      • enable-windows-ssh
      • TRUE
  3. 启动虚拟机。 虚拟机可能需要几分钟时间才能重新启动。

使用 SSH 连接到虚拟机

使用 gcloud compute ssh 命令连接到虚拟机:

gcloud compute ssh VM_NAME

VM_NAME 替换为要连接到的 Windows 虚拟机的名称。

连接到使用 AD 的虚拟机

如果您要连接到的虚拟机使用 Active Directory (AD),请使用以下命令进行连接:

gcloud compute ssh DOMAIN\USERNAME@VM_NAME

替换以下内容:

  • DOMAIN:您的 AD 域。例如,ad.example.com AD 的网域为 example
  • USERNAME:您的 AD 用户名。例如 cloudysanfrancisco
  • VM_NAME:要连接到的 Windows 虚拟机的名称。

后续步骤