Använda cloud-init för att lägga till en användare till en virtuell Linux-dator i Azure

Gäller för: ✔️ Virtuella Linux-datorer ✔️ – flexibla skalningsuppsättningar

Den här artikeln visar hur du använder cloud-init för att lägga till en användare på en virtuell dator (VM) eller vm-skalningsuppsättningar (VMSS) vid etablering i Azure. Det här cloud-init-skriptet körs vid första starten när resurserna har etablerats av Azure. Mer information om hur cloud-init fungerar internt i Azure och vilka Linux-distributioner som stöds finns i översikten över cloud-init.

Lägga till en användare till en virtuell dator med cloud-init

En av de första uppgifterna på en ny virtuell Linux-dator är att lägga till ytterligare en användare för dig själv för att undvika att använda roten. SSH-nycklar är bästa praxis för säkerhet och användbarhet. Nycklar läggs till i filen ~/.ssh/authorized_keys med det här cloud-init-skriptet.

Om du vill lägga till en användare till en virtuell Linux-dator skapar du en fil i det aktuella gränssnittet med namnetcloud_init_add_user.txt och klistrar in följande konfiguration. I det här exemplet skapar du filen i Cloud Shell inte på den lokala datorn. Du kan använda vilket redigeringsprogram som helst. Kontrollera att hela cloud-init-filen kopieras korrekt, särskilt den första raden. Du måste ange en egen offentlig nyckel (till exempel innehållet i ~/.ssh/id_rsa.pub) för värdet för ssh-authorized-keys: – det har förkortats här för att förenkla exemplet.

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

Anteckning

Filen #cloud-config innehåller parametern - default som ingår. Då läggs användaren till i den befintliga administratörsanvändare som skapades under etableringen. Om du skapar en användare utan parametern - default skulle den automatiskt genererade administratörsanvändaren som skapats av Azure-plattformen skrivas över.

Innan du distribuerar den här avbildningen måste du skapa en resursgrupp med kommandot az group create . En Azure-resursgrupp är en logisk container där Azure-resurser distribueras och hanteras. I följande exempel skapas en resursgrupp med namnet myResourceGroup på platsen eastus.

az group create --name myResourceGroup --location eastus

Skapa nu en virtuell dator med az vm create och ange cloud-init-filen med --custom-data cloud_init_add_user.txt följande:

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

Anteckning

Ersätt värdena myResourceGroup, vmName och imageCIURN . Kontrollera att en avbildning med Cloud-init har valts.

SSH till den offentliga IP-adressen för den virtuella datorn som visas i utdata från föregående kommando. Ange din egen användare och publicIpAddress på följande sätt:

ssh <user>@<publicIpAddress>

Kontrollera att användaren har lagts till i den virtuella datorn och de angivna grupperna genom att visa innehållet i / etc/group-filen på följande sätt:

sudo cat /etc/group

Följande exempelutdata visar att användaren från cloud_init_add_user.txt-filen har lagts till i den virtuella datorn och lämplig grupp:

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

Nästa steg

Ytterligare cloud-init-exempel på konfigurationsändringar finns i följande: