Menggunakan cloud-init untuk menambahkan pengguna ke VM Linux di Azure

Berlaku untuk: ✔️ VM Linux ✔️ Set skala fleksibel

Artikel ini menunjukkan cara menggunakan cloud-init untuk menambahkan pengguna pada komputer virtual (VM) atau kumpulan skala komputer virtual (VMSS) pada waktu provisi di Azure. Skrip cloud-init ini berjalan pada boot pertama setelah sumber daya disediakan oleh Azure. Untuk informasi selengkapnya tentang cara kerja cloud-init secara asli di Azure dan distro Linux yang didukung, lihat gambaran umum cloud-init.

Menambahkan pengguna ke VM dengan cloud-init

Salah satu tugas pertama pada VM Linux baru adalah menambahkan pengguna tambahan untuk Anda untuk menghindari penggunaan root. Kunci SSH adalah solusi terbaik untuk keamanan dan kegunaan. Kunci ditambahkan ke file ~/.ssh/authorized_keys dengan skrip cloud-init ini.

Untuk menambahkan pengguna ke VM Linux, buat file di shell Anda saat ini bernama cloud_init_add_user.txt dan tempelkan konfigurasi berikut. Untuk contoh ini, buat file di Cloud Shell, bukan di komputer lokal Anda. Anda dapat menggunakan editor apa pun yang diinginkan. Pastikan bahwa seluruh file cloud-init disalin dengan benar, terutama baris pertama. Anda perlu menyediakan kunci publik Anda sendiri (seperti isi ~/.ssh/id_rsa.pub)untuk nilai ssh-authorized-keys: - telah dipersingkat di sini untuk menyederhanakan contoh.

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

Catatan

File #cloud-config menyertakan parameter - default yang disertakan. File ini akan menambahkan pengguna, ke pengguna admin yang sudah dan yang dibuat selama provisi. Jika Anda membuat pengguna tanpa parameter - default - pengguna admin yang dihasilkan otomatis dan dibuat oleh platform Azure akan ditimpa.

Sebelum menyebarkan gambar ini, And perlu membuat grup sumber daya dengan perintah az group create. Grup sumber daya Azure adalah kontainer logis yang disebarkan dan dikelola sumber daya Azure. Contoh berikut membuat grup sumber daya bernama myResourceGroup di lokasi eastus.

az group create --name myResourceGroup --location eastus

Sekarang, buat VM dengan az vm create dan tentukan file cloud-init dengan --custom-data cloud_init_add_user.txt sebagai berikut:

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

Catatan

Ganti nilai myResourceGroup, vmName, dan imageCIURN yang sesuai. Pastikan gambar dengan Cloud-init dipilih.

SSH ke alamat IP publik VM Anda yang ditunjukkan dalam output dari perintah sebelumnya. Masukkan pengguna Anda sendiri dan publicIpAddress sebagai berikut:

ssh <user>@<publicIpAddress>

Untuk mengonfirmasi bahwa pengguna Anda ditambahkan ke VM dan grup yang ditentukan, lihat isi file /etc/group sebagai berikut:

sudo cat /etc/group

Contoh output berikut menunjukkan pengguna dari file cloud_init_add_user.txt telah ditambahkan ke VM dan grup yang sesuai:

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

Langkah berikutnya

Untuk contoh perubahan konfigurasi cloud-init tambahan, lihat artikel berikut: