استخدام 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 لتغييرات التكوين، راجع ما يلي: