使用 SSH 和 RDP 通过 SSH 连接到 Azure 本地 VM

适用于:Azure Local 2311.2 及更高版本

本文提供了使用安全外壳(SSH)和远程桌面(RDP)通过 SSH 连接到 Azure 本地 VM 的示例。 此示例演示如何使用 Azure 门户和 Azure CLI 通过 Arc 扩展启用 OpenSSH 服务器。

关于 SSH 服务器扩展

你可以通过 Azure CLI 打开到每个 Windows Server 的 RDP 连接,而不需要使用 VPN 或其他打开的端口(通过防火墙)。 有关详细信息,请参阅 SSH 访问已启用 Azure Arc 的服务器

先决条件

在开始之前,请确保:

  1. 有权访问运行最新版本的软件的 Azure Local。

  2. 安装 OpenSSH 服务器扩展。

    可以通过 Azure 门户或使用 PowerShell 安装 OpenSSH 服务器扩展。 建议通过 Azure 门户安装扩展。

    通过 Azure 门户安装 OpenSSH 服务器扩展

    若要通过 Azure 门户安装扩展,请导航到 扩展,然后选择适用于 Windows 的 OpenSSH - Azure Arc 选项。

    Azure Arc 扩展页的屏幕截图。

    通过 PowerShell 安装 OpenSSH 服务器扩展

    使用以下步骤通过 PowerShell 安装 OpenSSH 服务器扩展:

    1. 以管理员身份打开 Windows PowerShell 会话。

    2. 运行以下 cmdlet 以确保已安装所需的 Azure CLI 扩展:

    az extension add --upgrade --name connectedmachine
    az extension add --upgrade --name ssh
    

    选项c. 登录到 Azure:

    az login --use-device-code
    

    d。 设置适当的参数:

    $resourceGroup="<your resource group>"
    $serverName = "<your server name>"
    $___location = "<your ___location>"
    $localUser = "<your username>" # Use a local admin account for testing        
    

    e。 安装 OpenSSH Arc 扩展:

    az connectedmachine extension create --name WindowsOpenSSH 
    --type WindowsOpenSSH --publisher Microsoft.Azure.OpenSSH --type-handler-version 3.0.1.0 --machine-name $serverName --resource-group $resourceGroup
    

    下面是示例输出:

    PS C:\Users\labadmin> az connectedmachine extension create --name WindowsOpenSSH --___location westeurope --type WindowsOpenSSH --publisher Microsoft.Azure.OpenSSH --type-handler-version 3.0.1.0 --machine-name $serverName --resource-group $resourceGroup
    {
      "id": "/subscriptions/<SubscriptionName>/resourceGroups/<ResourceGroupName>/providers/<ProviderName>/machines/<MachineName>/extensions/WindowsOpenSSH",
      "___location": "westeurope",
      "name": "WindowsOpenSSH",
      "properties": {
        "autoUpgradeMinorVersion": false,
        "enableAutomaticUpgrade": true,
        "instanceView": {
          "name": "WindowsOpenSSH",
          "status": {
            "code": "0",
            "level": "Information",
            "message": "Extension Message: OpenSSH Successfully enabled"
          },
          "type": "WindowsOpenSSH",
          "typeHandlerVersion": "3.0.1.0"
        },
         "provisioningState": "Succeeded",
         "publisher": "Microsoft.Azure.OpenSSH",
         "type": "WindowsOpenSSH",
         "typeHandlerVersion": "3.0.1.0",
      },
      "resourceGroup": "<ResourceGroupName>",
      "type": "Microsoft.HybridCompute/machines/extensions"
    }
    PS C:\Users\labadmin>
    

    f。 可以在 Azure 门户扩展列表视图中查看 WindowsOpenSSH 扩展。

    Azure 门户扩展列表视图的屏幕截图。

使用 SSH 连接到 Azure 本地 VM

注意

系统可能会要求你允许 Arc SSH 为 SSH 设置端口 22。

使用以下步骤连接到 Azure 本地。

  1. 运行以下命令以启动 Arc SSH 并登录到服务器:

    az ssh arc --resource-group $resourceGroup --name $serverName --local-user $localUser
    

    现在,你已通过 SSH 连接到 Azure 本地:

    SSH 上服务器连接的屏幕截图。

通过 SSH 使用 RDP 连接 Azure 本地 VM

  1. 若要使用 RDP 通过 SSH 登录到 Azure Local,请使用 RDP 参数运行以下命令:

    az ssh arc --resource-group $resourceGroup --name $serverName --local-user $localUser --rdp
    
  2. 通过 SSH 登录到用于 RDP 的本地服务器。

    服务器登录对话框的屏幕截图,用于通过 SSH 连接到 Windows Server。

  3. 登录以对 RDP 进行身份验证。

    RDP 服务器登录对话框的屏幕截图,用于通过 SSH 连接到 Windows Server。

  4. 你可以查看远程桌面连接的桌面。

    RDP 桌面的屏幕截图,用于通过 SSH 连接到 Windows Server。

    使用 Azure CLI 通过 SSH 在您的 Azure 本地上设置 RDP 隧道,无需在防火墙中打开任何 VPN 或端口。

后续步骤