استخدام cloud-init لإضافة مستخدم إلى جهاز ظاهري بنظام التشغيل Linux في Azure

ينطبق على: ✔️ أجهزة Linux الظاهرية ✔️ مجموعات المقياس المرنة

توضح هذه المقالة كيفية استخدام cloud-init لإضافة مستخدم على جهاز ظاهري (VM) أو مجموعات توسعة الجهاز الظاهري (VMSS) في وقت التوفير في Azure. يتم تشغيل برنامج cloud-init النصي هذا على التمهيد الأول بمجرد توفير الموارد بواسطة Azure. لمزيد من المعلومات حول كيفية عمل cloud-init في Azure وتوزيعات Linux المدعومة، راجع نظرة عامة على cloud-init.

إضافة مستخدم إلى جهاز ظاهري باستخدام cloud-init

واحدة من المهام الأولى على أي جهاز ظاهري بنظام تشغيل Linux جديد هو إضافة مستخدم إضافي لنفسك لتجنب استخدام الجذر. مفاتيح SSH هي أفضل الممارسات للأمان وسهولة الاستخدام. تتم إضافة المفاتيح إلى ملف ~/.ssh/authorized_keys باستخدام برنامج cloud-init النصي هذا.

لإضافة مستخدم إلى جهاز ظاهري بنظام التشغيل Linux، قم بإنشاء ملف في shell الحالي باسم cloud_init_add_user.txt والصق التكوين التالي. على سبيل المثال، إنشاء الملف في Cloud Shell وليس على جهازك المحلي. يمكنك استخدام أي محرر ترغبه. تأكد من نسخ ملف cloud-init بالكامل بشكل صحيح، خاصة السطر الأول. تحتاج إلى توفير المفتاح العام الخاص بك (مثل محتويات ~/.ssh/id_rsa.pub) للقيمة ssh-authorized-keys: - تم اختصاره هنا لتبسيط المثال.

#cloud-config
users:
  - default
  - name: myadminuser
    groups: sudo
    shell: /bin/bash
    sudo: ['ALL=(ALL) NOPASSWD:ALL']
    ssh-authorized-keys:
      - ssh-rsa AAAAB3<snip>

ملاحظة

يتضمن ملف تكوين #cloud المعلمة المضمنة - default. سيؤدي ذلك إلى إلحاق المستخدم بالمستخدم المسؤول الحالي الذي تم إنشاؤه أثناء التوفير. إذا قمت بإنشاء مستخدم بدون المعلمة - default - فسيتم استبدال المستخدم المسؤول الذي تم إنشاؤه تلقائياً بواسطة نظام Azure الأساسي.

قبل توزيع هذه الصورة، تحتاج إلى إنشاء مجموعة موارد باستخدام الأمر az group create. مجموعة موارد Azure هي حاوية منطقية يتم بها نشر موارد Azure وإدارتها. في المثال التالي سيتم إنشاء مجموعة موارد تسمى ⁧⁩myResourceGroup⁧⁩ في منطقة ⁧⁩eastus⁩.

az group create --name myResourceGroup --location eastus

الآن، قم بإنشاء جهاز ظاهري باستخدام az vm create وتحديد ملف cloud-init باستخدام --custom-data cloud_init_add_user.txt على النحو التالي:

az vm create \
  --resource-group myResourceGroup \
  --name vmName \
  --image imageCIURN \
  --custom-data cloud_init_add_user.txt \
  --generate-ssh-keys

ملاحظة

استبدل قيم myResourceGroupوvmNameوimageCIURN وفقا لذلك. تأكد من اختيار صورة مع Cloud-init.

SSH إلى عنوان IP العام للجهاز الظاهري الموضح في الإخراج من الأمر السابق. أدخل المستخدم الخاص بك و publicIpAddress على النحو التالي:

ssh <user>@<publicIpAddress>

للتأكد من إضافة المستخدم إلى الجهاز الظاهري والمجموعات المحددة، قم بعرض محتويات ملف /etc/group كما يلي:

sudo cat /etc/group

يوضح إخراج المثال التالي إضافة المستخدم من ملف cloud_init_add_user.txt إلى الجهاز الظاهري والمجموعة المناسبة:

root:x:0:
<snip />
sudo:x:27:myadminuser
<snip />
myadminuser:x:1000:

الخطوات التالية

للحصول على أمثلة إضافية على cloud-init لتغييرات التكوين، راجع ما يلي: