Použití cloud-init k přidání uživatele na virtuální počítač s Linuxem v Azure

Platí pro: ✔️ Flexibilní škálovací sady virtuálních počítačů s Linuxem ✔️

V tomto článku se dozvíte, jak pomocí cloud-init přidat uživatele na virtuální počítač nebo škálovací sady virtuálních počítačů (VMSS) v době zřizování v Azure. Tento skript cloud-init se spustí při prvním spuštění, jakmile Azure zřídí prostředky. Další informace o tom, jak cloud-init funguje nativně v Azure, a o podporovaných distribucích Linuxu najdete v přehledu cloud-init.

Přidání uživatele do virtuálního počítače pomocí cloud-init

Jedním z prvních úkolů na každém novém virtuálním počítači s Linuxem je přidání dalšího uživatele, abyste se vyhnuli použití kořenového adresáře. Klíče SSH jsou osvědčeným postupem z hlediska zabezpečení a použitelnosti. Klíče se přidají do souboru ~/.ssh/authorized_keys pomocí tohoto skriptu cloud-init.

Pokud chcete přidat uživatele do virtuálního počítače s Linuxem, vytvořte v aktuálním prostředí soubor s názvem cloud_init_add_user.txt a vložte následující konfiguraci. V tomto příkladu vytvořte soubor v Cloud Shell ne na místním počítači. Můžete použít libovolný editor podle svojí volby. Ujistěte se, že je správně zkopírován celý soubor cloud-init, zejména první řádek. Pro hodnotu ssh-authorized-keys: je potřeba zadat vlastní veřejný klíč (například obsah souboru ~/.ssh/id_rsa.pub). Pro zjednodušení příkladu jsme ji zde zkrátili.

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

Poznámka

Konfigurační soubor #cloud obsahuje - default zahrnutý parametr . Tím se uživatel připojí ke stávajícímu uživateli s rolí správce vytvořenému během zřizování. Pokud vytvoříte uživatele bez parametru - default , automaticky vygenerovaný uživatel s rolí správce vytvořený platformou Azure se přepíše.

Před nasazením této image musíte vytvořit skupinu prostředků pomocí příkazu az group create . Skupina prostředků Azure je logický kontejner, ve kterém se nasazují a spravují prostředky Azure. Následující příklad vytvoří skupinu prostředků myResourceGroup v umístění eastus.

az group create --name myResourceGroup --location eastus

Teď vytvořte virtuální počítač pomocí příkazu az vm create a následujícím způsobem zadejte soubor --custom-data cloud_init_add_user.txt cloud-init:

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

Poznámka

Odpovídajícím způsobem nahraďte hodnoty myResourceGroup, vmName a imageCIURN . Ujistěte se, že je vybraná image s Cloud-init.

Přes SSH se obraťte na veřejnou IP adresu vašeho virtuálního počítače uvedenou ve výstupu z předchozího příkazu. Zadejte vlastního uživatele a publicIpAddress následujícím způsobem:

ssh <user>@<publicIpAddress>

Pokud chcete ověřit, že se váš uživatel přidal k virtuálnímu počítači a zadaným skupinám, zobrazte obsah souboru /etc/group následujícím způsobem:

sudo cat /etc/group

Následující příklad výstupu ukazuje, že uživatel ze souborucloud_init_add_user.txt byl přidán do virtuálního počítače a příslušné skupiny:

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

Další kroky

Další příklady změn konfigurace cloud-init najdete tady: