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 cloud-init kullanarak Azure'da sağlama zamanında bir sanal makineye (VM) veya sanal makine ölçek kümelerine (VMSS) kullanıcı ekleme işlemi gösterilmektedir. Bu cloud-init betiği, kaynaklar Azure tarafından sağlandıktan sonra ilk önyüklemede ç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'sinin ilk görevlerinden biri , kök kullanımını önlemek için kendiniz için ek bir kullanıcı eklemektir. SSH anahtarları, güvenlik ve kullanılabilirlik için en iyi uygulamadır. Anahtarlar bu cloud-init betiğiyle ~/.ssh/authorized_keys dosyasına eklenir.

Linux VM'sine kullanıcı eklemek için geçerli 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 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>

Not

#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 olmadan - default bir kullanıcı oluşturursanız, Azure platformu tarafından oluşturulan otomatik olarak oluşturulan 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

Not

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şikliklerinin cloud-init örnekleri için aşağıdakilere bakın: