إشعار
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تسجيل الدخول أو تغيير الدلائل.
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تغيير الدلائل.
ينطبق على: ✔️ أجهزة Linux الظاهرية
هذا التشغيل السريع يوضح لك كيفية استخدام Azure CLI لتوزيع جهاز ظاهري Linux (VM) في Azure. استخدم واجهة برمجة Azure لإنشاء وإدارة موارد Azure من سطر الأوامر أو في سكريبتات نصية.
في حال لم يكن لديك اشتراك Azure، فأنشئ حساباً مجانيّاً قبل البدء.
إطلاق Azure Cloud Shell
Azure Cloud Shell هو shell تفاعلية مجانية التي يمكنك استخدامها لتشغيل الخطوات في هذه المقالة. يحتوي على أدوات Azure الشائعة المثبتة مسبقًا والمهيئة للاستخدام مع حسابك.
لفتح Cloud Shell، حدد Try it من الزاوية اليمنى العليا لقالب التعليمات البرمجية. يمكنك أيضًا تشغيل Cloud Shell في علامة تبويب متصفح منفصلة من خلال الانتقال إلى https://shell.azure.com/bash. حدد "نسخ" لنسخ مجموعات التعليمات البرمجية، والصقها في "Cloud Shell"، ثم حدد "إدخال" لتشغيلها.
إذا اخترت تثبيت واجهة سطر الأوامر واستخدامها محلياً، تتطلب خاصية التشغيل السريع هذه توفر إصدار "2.0.30" من "Azure" أو أي إصدار أحدث. قم بتشغيل az --version للعثور على الإصدار. إذا كنت بحاجة إلى التثبيت أو الترقية، فراجع تثبيت Azure CLI.
تسجيل الدخول إلى Azure باستخدام CLI
لتشغيل الأوامر في Azure باستخدام واجهة السطوع، تحتاج إلى تسجيل الدخول أولا. سجل الدخول باستخدام az login الأمر.
إنشاء مجموعة موارد
مجموعة الموارد هي حاوية للموارد ذات الصلة. يجب أن تضع جميع الموارد في مجموعة موارد. استخدم أمر إنشاء مجموعة az لإنشاء مجموعة موارد باستخدام المعلمات المعرفة $MY_RESOURCE_GROUP_NAME$REGION مسبقا.
export RANDOM_ID="$(openssl rand -hex 3)"
export MY_RESOURCE_GROUP_NAME="myVMResourceGroup$RANDOM_ID"
export REGION=EastUS
az group create --name $MY_RESOURCE_GROUP_NAME --location $REGION
النتائج:
{
"id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/myVMResourceGroup",
"location": "eastus",
"managedBy": null,
"name": "myVMResourceGroup",
"properties": {
"provisioningState": "Succeeded"
},
"tags": null,
"type": "Microsoft.Resources/resourceGroups"
}
إنشاء الجهاز الظاهري
لإنشاء جهاز ظاهري في مجموعة الموارد هذه، استخدم vm create الأمر .
ينشئ المثال التالي جهازا ظاهريا ويضيف حساب مستخدم.
--generate-ssh-keys يجعل المعامل يبحث مؤشر القيادة عن مفتاح 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 بنجاح.
النتائج:
{
"fqdns": "",
"id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/myVMResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM",
"location": "eastus",
"macAddress": "00-0D-3A-10-4F-70",
"powerState": "VM running",
"privateIpAddress": "10.0.0.4",
"publicIpAddress": "52.147.208.85",
"resourceGroup": "myVMResourceGroup",
"zones": ""
}
تمكين Azure AD Authentication for a Linux virtual machine in Azure
المثال التالي للكود ينشر جهاز افتراضي لينكس ثم يثبت الامتداد لتمكين مصادقة Azure AD لجهاز افتراضي لينكس. ملحقات الأجهزة الظاهرية عبارة عن تطبيقات صغيرة توفر تكوينًا بعد التوزيع ومهام الأتمتة على أجهزة Azure الظاهرية.
az vm extension set \
--publisher Microsoft.Azure.ActiveDirectory \
--name AADSSHLoginForLinux \
--resource-group $MY_RESOURCE_GROUP_NAME \
--vm-name $MY_VM_NAME
تخزين عنوان IP للجهاز الافتراضي لاستخدامه مع SSH
قم بتشغيل الأمر التالي لتخزين عنوان IP للجهاز الظاهري كمتغير بيئة:
export IP_ADDRESS=$(az vm show --show-details --resource-group $MY_RESOURCE_GROUP_NAME --name $MY_VM_NAME --query publicIps --output tsv)
SSH في الجهاز الظاهري
يمكنك الآن SSH في الجهاز الظاهري عن طريق تشغيل إخراج الأمر التالي في عميل ssh الذي تختاره:
ssh -o StrictHostKeyChecking=no $MY_USERNAME@$IP_ADDRESS