启动 Azure 本地 Shell

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

注意

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

定义环境变量

第一步是定义环境变量。

export RANDOM_ID="$(openssl rand -hex 3)"
export MY_RESOURCE_GROUP_NAME="myVMResourceGroup$RANDOM_ID"
export REGION=chinanorth2
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"

使用 CLI 登录到 Azure

要使用 CLI 在 Azure 中运行命令,首先需要登录。 此操作是使用 az login 命令完成的。

创建资源组

资源组是相关资源的容器。 所有资源都必须在资源组中部署。 以下命令创建具有前面定义的 $MY_RESOURCE_GROUP_NAME 和 $REGION 参数的资源组。

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 命令。 在下面的代码示例中,我们提供了 --generate-ssh-keys 标志,它会导致 CLI 在 ~/.ssh 中查找可用的 ssh 密钥。 如果找到一个,则使用它。 否则,将会生成一个密钥并存储在 ~/.ssh 中。 我们还提供了 --public-ip-sku Standard 标志,可确保能够通过公共 IP 地址访问该计算机。 最后,我们将部署最新的 Ubuntu 22.04 映像。

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

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

结果:

{
  "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

存储 VM 的 IP 地址,以通过 SSH 进行连接

运行以下命令以将 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

后续步骤