Compartir a través de

快速入门 - 使用 Azure 上的Azure CLI创建 Linux 虚拟机

适用于:✔️ Linux VM

本快速入门介绍如何使用Azure CLI在 Azure 中部署 Linux 虚拟机(VM)。 使用Azure CLI从命令行或脚本中创建和管理Azure资源。

如果没有Azure订阅,请在开始前创建 Trial

启动 Azure Local Shell

如果想要在本地安装和使用 CLI,本快速入门需要Azure CLI版本 2.0.30 或更高版本。 运行 az --version 即可查找版本。 如果需要安装或升级,请参阅 Install Azure CLI

注意

在世纪互联运营的Microsoft Azure中使用Azure CLI之前,请先运行 az cloud set -n AzureChinaCloud 以更改云环境。 如果要切换回Azure公有云,请再次运行 az cloud set -n AzureCloud

使用 CLI 登录到Azure

若要使用 CLI 在 Azure中运行命令,需要首先登录。 使用 az login 命令登录。

创建资源组

资源组是相关资源的容器。 必须将所有资源放在资源组中。 使用 az group create 命令,根据以前定义的 $MY_RESOURCE_GROUP_NAME$REGION 参数创建资源组。

export RANDOM_ID="$(openssl rand -hex 3)"
export MY_RESOURCE_GROUP_NAME="myVMResourceGroup$RANDOM_ID"
export REGION=chinanorth2
az group create --name $MY_RESOURCE_GROUP_NAME --location $REGION

结果:

{
  "id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/myVMResourceGroup",
  "location": "chinanorth2",
  "managedBy": null,
  "name": "myVMResourceGroup",
  "properties": {
    "provisioningState": "Succeeded"
  },
  "tags": null,
  "type": "Microsoft.Resources/resourceGroups"
}

创建虚拟机

要在此资源组中创建 VM,请使用 vm create 命令。

以下示例将创建 VM 并添加用户帐户。 该 --generate-ssh-keys 参数会导致 CLI 在中 ~/.ssh查找可用的 SSH 密钥。 如果找到一个密钥,则使用该密钥。 否则,它将在~/.ssh中生成并存储密钥。 该 --public-ip-sku Standard 参数可确保计算机可通过公共 IP 地址访问。 最后,它会部署最新的 Ubuntu 22.04 映像。

使用环境变量配置所有其他值。

export MY_VM_NAME="myVM$RANDOM_ID"
export MY_USERNAME=azureuser
export MY_VM_IMAGE="Canonical:0001-com-ubuntu-minimal-jammy:minimal-22_04-lts-gen2:latest"
az vm create \
    --resource-group $MY_RESOURCE_GROUP_NAME \
    --name $MY_VM_NAME \
    --image $MY_VM_IMAGE \
    --admin-username $MY_USERNAME \
    --assign-identity \
    --generate-ssh-keys \
    --public-ip-sku Standard

创建 VM 和支持资源需要几分钟时间。 以下示例输出表明 VM 创建操作已成功。

结果:

{
  "fqdns": "",
  "id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/myVMResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM",
  "location": "chinanorth2",
  "macAddress": "00-0D-3A-10-4F-70",
  "powerState": "VM running",
  "privateIpAddress": "10.0.0.4",
  "publicIpAddress": "52.147.208.85",
  "resourceGroup": "myVMResourceGroup",
  "zones": ""
}

在 Azure 中为 Linux 虚拟机启用 Azure AD 身份验证

以下代码示例部署 Linux VM,然后安装该扩展,为 Linux VM 启用Azure AD 身份验证。 VM 扩展是小型应用程序,用于在Azure虚拟机上提供部署后配置和自动化任务。

az vm extension set \
    --publisher Microsoft.Azure.ActiveDirectory \
    --name AADSSHLoginForLinux \
    --resource-group $MY_RESOURCE_GROUP_NAME \
    --vm-name $MY_VM_NAME

存储要与 SSH 配合使用的 VM 的 IP 地址

运行以下命令以将 VM 的 IP 地址存储为环境变量:

export IP_ADDRESS=$(az vm show --show-details --resource-group $MY_RESOURCE_GROUP_NAME --name $MY_VM_NAME --query publicIps --output tsv)

通过 SSH 登录到 VM

现在,可以在所选 SSH 客户端中运行以下命令的输出来通过 SSH 连接到 VM:

ssh -o StrictHostKeyChecking=no $MY_USERNAME@$IP_ADDRESS