إدارة المستخدمين الإداريين، SSH، والتحقق من الأقراص أو إصلاحها على Linux VMs باستخدام VMAccess Extension مع Azure CLI
نظرة عامة
يعرض القرص الموجود على جهاز Linux الظاهري الخاص بك أخطاء. يمكنك بطريقة ما إعادة تعيين كلمة مرور الجذر لـ Linux VM أو حذف مفتاح SSH الخاص بك عن طريق الخطأ. إذا حدث ذلك مرة أخرى في أيام مركز البيانات، فستحتاج إلى القيادة هناك ثم فتح KVM للوصول إلى وحدة تحكم الخادم. فكر في ملحق Azure VMAccess على أنه مفتاح KVM الذي يسمح لك بالوصول إلى وحدة التحكم لإعادة تعيين الوصول إلى Linux أو إجراء صيانة على مستوى القرص.
توضح لك هذه المقالة كيفية استخدام Azure VMAccess Extension لفحص القرص أو إصلاحه، أو إعادة تعيين وصول المستخدم، أو إدارة حسابات المستخدمين الإدارية، أو تحديث تكوين SSH على Linux عند تشغيلهم كأجهزة ظاهرية لـ Azure Resource Manager. إذا كنت بحاجة إلى إدارة الأجهزة الافتراضية الكلاسيكية - يمكنك اتباع التعليمات الموجودة في وثائق VM الكلاسيكية.
ملاحظة
إذا كنت تستخدم VMAccess Extension لإعادة تعيين كلمة مرور الجهاز الظاهري الخاص بك بعد تثبيت ملحق تسجيل الدخول Microsoft Azure AD، فستحتاج إلى إعادة تشغيل ملحق تسجيل الدخول Microsoft Azure AD لإعادة تمكين تسجيل دخول Microsoft Azure AD للجهاز الخاص بك.
المتطلبات الأساسية
نظام التشغيل
يمكن تشغيل ملحق VM Access مع توزيعات Linux هذه:
| التوزيع | إصدار |
|---|---|
| Ubuntu | 16.04 LTS, 14.04 LTS و 12.04 LTS |
| Debian | Debian 7.9+, 8.2+ |
| Red Hat | RHEL 6.7+, 7.1+ |
| Oracle Linux | 6.4+, 7.0+ |
| Suse | 11 و 12 |
| OpenSuse | openSUSE Leap 42.2+ |
| CentOS | CentOS 6.3+, 7.0+ |
| CoreOS | 494.4.0+ |
طرق استخدام ملحق VMAccess
هناك طريقتان يمكنك من خلالهما استخدام امتداد VMAccess على أجهزة Linux الظاهرية الخاصة بك:
- استخدم Azure CLI والمعلمات المطلوبة.
- استخدم ملفات JSON الأولية التي تقوم عملية VMAccess Extension بالعمل عليها.
تستخدم الأمثلة التالية أوامر مستخدم az vm. لتنفيذ هذه الخطوات، يتعين عليك تثبيت أحدث إصدار من Azure CLI وتسجيل الدخول إلى حساب Azure باستخدام az login.
تحديث مفتاح SSH
يقوم المثال التالي بتحديث المفتاح SSH للمستخدم azureuser على الجهاز الظاهري المسمى myVM:
az vm user update \
--resource-group myResourceGroup \
--name myVM \
--username azureuser \
--ssh-key-value ~/.ssh/id_rsa.pub
NOTE: يقوم
az vm user updateالأمر بإلحاق نص المفتاح العمومي الجديد~/.ssh/authorized_keysبالملف الخاص بالمستخدم المسؤول على الجهاز الظاهري. هذا لا يحل محل أو يزيل أي مفاتيح SSH موجودة. لن يؤدي ذلك إلى إزالة المفاتيح السابقة التي تم تعيينها في وقت النشر أو التحديثات اللاحقة عبر VMAccess Extension.
إعادة تعيين كلمة المرور
يقوم المثال التالي بإعادة تعيين كلمة المرور للمستخدم azureuser على الجهاز الظاهري المسمى myVM:
az vm user update \
--resource-group myResourceGroup \
--name myVM \
--username azureuser \
--password myNewPassword
إعادة تشغيل SSH
المثال التالي يعيد تشغيل SSH الوهمي ويعيد ضبط تكوين SSH على القيم الافتراضية على جهاز ظاهري مسمى myVM:
az vm user reset-ssh \
--resource-group myResourceGroup \
--name myVM
إنشاء مستخدم administrative/sudo
ينشئ المثال التالي مستخدم اسمه myNewUser مع أذونات sudo. يستخدم الحساب مفتاح SSH للمصادقة على الجهاز الظاهري المسمى myVM. تم تصميم هذه الطريقة لمساعدتك على استعادة الوصول إلى جهاز ظاهري في حالة فقدان بيانات الاعتماد الحالية أو نسيانها. وكممارسة أفضل، يجب أن تكون الحسابات ذات أذونات sudo محدودة.
az vm user update \
--resource-group myResourceGroup \
--name myVM \
--username myNewUser \
--ssh-key-value ~/.ssh/id_rsa.pub
حذف مستخدم
المثال التالي يحذف مستخدم اسمه myNewUser على VM myVM المسمى:
az vm user delete \
--resource-group myResourceGroup \
--name myVM \
--username myNewUser
استخدام ملفات JSON وملحق VMAccess
تستخدم الأمثلة التالية ملفات JSON الأولية. استخدم az vm extension set ثم قم باستدعاء ملفات JSON الخاصة بك. يمكن أيضًا استدعاء ملفات JSON هذه من قوالب Azure.
إعادة تعيين وصول المستخدم
إذا فقدت الوصول إلى الجذر على Linux VM الخاص بك، فيمكنك تشغيل برنامج نصي VMAccess لتحديث مفتاح SSH أو كلمة المرور الخاصة بالمستخدم.
لتحديث المفتاح العام SSH لأحد المستخدمين، قم بإنشاء ملف باسم update_ssh_key.json وإضافة الإعدادات بالتنسيق التالي. استبدل القيم الخاصة بك ب username و ssh_key المعلمات:
{
"username":"azureuser",
"ssh_key":"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCZ3S7gGp3rcbKmG2Y4vGZFMuMZCwoUzZNGxxxxxx2XV2x9FfAhy8iGD+lF8UdjFX3t5ebMm6BnnMh8fHwkTRdOt3LDQq8o8ElTBrZaKPxZN2thMZnODs5Hlemb2UX0oRIGRcvWqsd4oJmxsXa/Si98Wa6RHWbc9QZhw80KAcOVhmndZAZAGR+Wq6yslNo5TMOr1/ZyQAook5C4FtcSGn3Y+WczaoGWIxG4ZaWk128g79VIeJcIQqOjPodHvQAhll7qDlItVvBfMOben3GyhYTm7k4YwlEdkONm4yV/UIW0la1rmyztSBQIm9sZmSq44XXgjVmDHNF8UfCZ1ToE4r2SdwTmZv00T2i5faeYnHzxiLPA3Enub7xxxxxxwFArnqad7MO1SY1kLemhX9eFjLWN4mJe56Fu4NiWJkR9APSZQrYeKaqru4KUC68QpVasNJHbuxPSf/PcjF3cjO1+X+4x6L1H5HTPuqUkyZGgDO4ynUHbko4dhlanALcriF7tIfQR9i2r2xOyv5gxJEW/zztGqWma/d4rBoPjnf6tO7rLFHXMt/DVTkAfn5wxxtLDwkn5FMyvThRmex3BDf0gujoI1y6cOWLe9Y5geNX0oj+MXg/W0cXAtzSFocstV1PoVqy883hNoeQZ3mIGB3Q0rIUm5d9MA2bMMt31m1g3Sin6EQ== azureuser@myVM"
}
قم بتنفيذ البرنامج النصي VMAccess باستخدام:
az vm extension set \
--resource-group myResourceGroup \
--vm-name myVM \
--name VMAccessForLinux \
--publisher Microsoft.OSTCExtensions \
--version 1.4 \
--protected-settings update_ssh_key.json
لإعادة تعيين كلمة مرور مستخدم، قم بإنشاء ملف باسم reset_user_password.json وإضافة إعدادات بالتنسيق التالي. استبدل القيم الخاصة بك ب username و password المعلمات:
{
"username":"azureuser",
"password":"myNewPassword"
}
قم بتنفيذ البرنامج النصي VMAccess باستخدام:
az vm extension set \
--resource-group myResourceGroup \
--vm-name myVM \
--name VMAccessForLinux \
--publisher Microsoft.OSTCExtensions \
--version 1.4 \
--protected-settings reset_user_password.json
إعادة تشغيل SSH
لإعادة تشغيل SSH الوهمي وإعادة تعيين تكوين SSH إلى القيم الافتراضية، قم بإنشاء ملف باسم reset_sshd.json. ثم أضف المحتوى التالي:
{
"reset_ssh": true
}
قم بتنفيذ البرنامج النصي VMAccess باستخدام:
az vm extension set \
--resource-group myResourceGroup \
--vm-name myVM \
--name VMAccessForLinux \
--publisher Microsoft.OSTCExtensions \
--version 1.4 \
--protected-settings reset_sshd.json
إدارة المستخدمين الإداريين
لإنشاء مستخدم لديه أذونات sudo يستخدم مفتاح SSH للمصادقة، قم بإنشاء ملف باسم create_new_user.json وإضافة إعدادات بالتنسيق التالي. استبدل القيم الخاصة بك username و ssh_key للمعلمات. تم تصميم هذه الطريقة لمساعدتك على استعادة الوصول إلى جهاز ظاهري في حالة فقدان بيانات الاعتماد الحالية أو نسيانها. وكممارسة أفضل، يجب أن تكون الحسابات ذات أذونات sudo محدودة.
{
"username":"myNewUser",
"ssh_key":"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCZ3S7gGp3rcbKmG2Y4vGZFMuMZCwoUzZNG1vHY7P2XV2x9FfAhy8iGD+lF8UdjFX3t5ebMm6BnnMh8fHwkTRdOt3LDQq8o8ElTBrZaKPxZN2thMZnODs5Hlemb2UX0oRIGRcvWqsd4oJmxsXa/Si98Wa6RHWbc9QZhw80KAcOVhmndZAZAGR+Wq6yslNo5TMOr1/ZyQAook5C4FtcSGn3Y+WczaoGWIxG4ZaWk128g79VIeJcIQqOjPodHvQAhll7qDlItVvBfMOben3GyhYTm7k4YwlEdkONm4yV/UIW0la1rmyztSBQIm9sZmSq44XXgjVmDHNF8UfCZ1ToE4r2SdwTmZv00T2i5faeYnHzxiLPA3Enub7iUo5IdwFArnqad7MO1SY1kLemhX9eFjLWN4mJe56Fu4NiWJkR9APSZQrYeKaqru4KUC68QpVasNJHbuxPSf/PcjF3cjO1+X+4x6L1H5HTPuqUkyZGgDO4ynUHbko4dhlanALcriF7tIfQR9i2r2xOyv5gxJEW/zztGqWma/d4rBoPjnf6tO7rLFHXMt/DVTkAfn5woYtLDwkn5FMyvThRmex3BDf0gujoI1y6cOWLe9Y5geNX0oj+MXg/W0cXAtzSFocstV1PoVqy883hNoeQZ3mIGB3Q0rIUm5d9MA2bMMt31m1g3Sin6EQ== myNewUser@myVM",
"password":"myNewUserPassword"
}
قم بتنفيذ البرنامج النصي VMAccess باستخدام:
az vm extension set \
--resource-group myResourceGroup \
--vm-name myVM \
--name VMAccessForLinux \
--publisher Microsoft.OSTCExtensions \
--version 1.4 \
--protected-settings create_new_user.json
لحذف مستخدم، قم بإنشاء ملف باسم delete_user.json وإضافة المحتوى التالي. استبدل القيمة الخاصة بك remove_user للمعلمة:
{
"remove_user":"myNewUser"
}
قم بتنفيذ البرنامج النصي VMAccess باستخدام:
az vm extension set \
--resource-group myResourceGroup \
--vm-name myVM \
--name VMAccessForLinux \
--publisher Microsoft.OSTCExtensions \
--version 1.4 \
--protected-settings delete_user.json
فحص القرص أو إصلاحه
باستخدام VMAccess، يمكنك أيضًا فحص القرص الذي أضفته إلى Linux VM وإصلاحه.
للتحقق من القرص ثم إصلاحه، قم بإنشاء ملف باسم disk_check_repair.json وإضافة إعدادات بالتنسيق التالي. استبدل القيمة الخاصة بك باسم repair_disk:
{
"check_disk": "true",
"repair_disk": "true, mydiskname"
}
قم بتنفيذ البرنامج النصي VMAccess باستخدام:
az vm extension set \
--resource-group myResourceGroup \
--vm-name myVM \
--name VMAccessForLinux \
--publisher Microsoft.OSTCExtensions \
--version 1.4 \
--protected-settings disk_check_repair.json
استكشاف الأخطاء وإصلاحها والدعم
استكشاف الأخطاء وإصلاحها
يمكن استرداد البيانات المتعلقة بحالة عمليات نشر الملحق من مدخل Microsoft Azure، وباستخدام Azure CLI. لمشاهدة حالة نشر ملحقات VM معين، قم بتشغيل الأمر التالي باستخدام Azure CLI.
az vm extension list --resource-group myResourceGroup --vm-name myVM -o table
الدعم
إذا كنت بحاجة إلى مزيد من المساعدة بخصوص هذه المقالة، فيمكنك الاتصال بخبراء Azure على منتديات MSDN Azure وStack Overflow. بدلاً من ذلك، يمكنك تقديم حدث دعم Azure. انتقل إلى موقع دعم Azure وحدد Get support. للحصول على معلومات حول استخدام دعم Azure، اقرأ الأسئلة المتداولة حول دعم Microsoft Azure.