Cloud-init kullanarak Azure'da Linux VM'ye kullanıcı ekleme

Uygulama: ✔️ 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ümesine (VMSS) kullanıcı eklemek için cloud-init'i nasıl kullanabileceğiniz açıklanmıştır. 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ığını 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, 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 yöntemdir. Anahtarlar bu cloud-init betiğiyle ~/.ssh/authorized_keys dosyasına eklenir.

Bir Linux VM'ye kullanıcı eklemek için geçerli kabuğundacloud_init_add_user.txtadlı bir dosya oluşturun ve aşağıdaki yapılandırmayı yapıştırın. Bu örnekte, yerel makinenize değil Cloud Shell dosyasında dosyasını oluşturun. İstediğiniz düzenleyiciyi kullanabilirsiniz. Dosyayı oluşturmak ve kullanılabilir düzenleyicilerin listesini görmek için sensible-editor cloud_init_add_user.txt adını girin. Nano #1 kullanmak için Seç'i seçin. Cloud-init dosyasının tamamının, özellikle de ilk satırın doğru şekilde kopyalanmış olduğundan emin olun. değeri 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 ssh-authorized-keys: kısaltıldı.

#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ı dahil edilen - default parametresini içerir. Bu, sağlama sırasında oluşturulan mevcut yönetici kullanıcıya kullanıcı ekler. parametresi olmadan bir kullanıcı oluşturulduğunda, Azure platformu tarafından otomatik - default 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ı aşağıdaki --custom-data cloud_init_add_user.txt gibi belirtin:

az vm create \
  --resource-group myResourceGroup \
  --name centos74 \
  --image OpenLogic:CentOS:7-CI:latest \
  --custom-data cloud_init_add_user.txt \
  --generate-ssh-keys 

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

ssh <publicIpAddress>

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

cat /etc/group

Aşağıdaki örnek çıktı, vm'ye vecloud_init_add_user.txt dosyadan kullanıcı eklenmiştir:

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

Sonraki adımlar

Ek cloud-init yapılandırma değişiklikleri örnekleri için aşağıdakilere bakın: