Azure'da Linux VM'sine kullanıcı eklemek için cloud-init kullanma

Şunlar için geçerlidir: ✔️ Linux VM'leri ✔️ Esnek ölçek kümeleri

Bu makalede, Azure'da sağlama zamanında bir sanal makineye (VM) veya sanal makine ölçek kümelerine (VMSS) kullanıcı eklemek için cloud-init'in nasıl kullanılacağı gösterilmektedir. Bu cloud-init betiği, kaynaklar Azure tarafından sağlandıktan sonra ilk başlatıldığında çalışır. Cloud-init'in Azure'da yerel olarak nasıl çalıştığı ve desteklenen Linux dağıtımları hakkında daha fazla bilgi için bkz. cloud-init'e genel bakış.

cloud-init ile vm'ye kullanıcı ekleme

Herhangi bir yeni Linux VM'sinde ilk görevlerden biri, root kullanımını önlemek için kendinize ek bir kullanıcı eklemektir. SSH anahtarları, güvenlik ve kullanılabilirlik için en iyi yöntemdir. Anahtarlar bu cloud-init betiğiyle ~/.ssh/authorized_keys dosyasına eklenir.

Linux VM'ye kullanıcı eklemek için mevcut kabuğunuzda cloud_init_add_user.txt adlı bir dosya oluşturun ve aşağıdaki yapılandırmayı yapıştırın. Bu örnekte, dosyayı yerel makinenizde değil Cloud Shell'de oluşturun. İstediğiniz düzenleyiciyi kullanabilirsiniz. Cloud-init dosyasının tamamının, özellikle de ilk satırın doğru kopyalandığından emin olun. değeri ssh-authorized-keys: için kendi ortak anahtarınızı (~/.ssh/id_rsa.pub içeriği gibi) sağlamanız gerekir; örneği basitleştirmek için burada kısaltılmıştır.

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

Uyarı

#cloud-config dosyası, parametresini - default içerir. Bu, kullanıcıyı, sağlama sırasında oluşturulan mevcut yönetici kullanıcıya ekler. Parametresi olmayan - default bir kullanıcı oluşturursanız, Azure platformu tarafından oluşturulmuş otomatik yönetici kullanıcının üzerine yazılır.

Bu görüntüyü dağıtmadan önce az group create komutuyla bir kaynak grubu oluşturmanız gerekir. Azure kaynak grubu, Azure kaynaklarının dağıtıldığı ve yönetildiği bir mantıksal kapsayıcıdır. Aşağıdaki örnek eastus konumunda myResourceGroup adlı bir kaynak grubu oluşturur.

az group create --name myResourceGroup --location eastus

Şimdi az vm create ile bir VM oluşturun ve cloud-init dosyasını --custom-data cloud_init_add_user.txt şu şekilde belirtin:

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

Uyarı

myResourceGroup, vmName ve imageCIURN değerlerini uygun şekilde değiştirin. Cloud-init içeren bir görüntünün seçildiğinden emin olun.

Önceki komutun çıkışında gösterilen VM'nizin genel IP adresine SSH. Kendi kullanıcınızı ve publicIpAddress'inizi aşağıdaki gibi girin:

ssh <user>@<publicIpAddress>

Kullanıcınızın VM'ye ve belirtilen gruplara eklendiğini onaylamak için /etc/group dosyasının içeriğini aşağıdaki gibi görüntüleyin:

sudo cat /etc/group

Aşağıdaki örnek çıktı, cloud_init_add_user.txt dosyasındaki kullanıcının VM'ye ve uygun gruba eklendiğini gösterir:

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

Sonraki adımlar

Yapılandırma değişikliklerine ilişkin ek cloud-init örnekleri için aşağıdakilere bakın: