Delen via


Cloud-init gebruiken om een gebruiker toe te voegen aan een Linux-VM in Azure

Van toepassing op: ✔️ Flexibele schaalsets voor Linux-VM's ✔️

In dit artikel wordt beschreven hoe u cloud-init gebruikt om een gebruiker toe te voegen op een virtuele machine (VM) of virtuele-machineschaalsets (VMSS) tijdens het inrichten in Azure. Dit cloud-init-script wordt uitgevoerd bij de eerste keer opstarten zodra de resources zijn ingericht door Azure. Zie overzicht van cloud-init voor meer informatie over hoe cloud-init systeemeigen werkt in Azure en de ondersteunde Linux-distributies.

Een gebruiker toevoegen aan een VM met cloud-init

Een van de eerste taken op een nieuwe Virtuele Linux-machine is het toevoegen van een extra gebruiker voor uzelf om het gebruik van de hoofdmap te voorkomen. SSH-sleutels zijn best practice voor beveiliging en bruikbaarheid. Sleutels worden toegevoegd aan het bestand ~/.ssh/authorized_keys met dit cloud-init-script.

Als u een gebruiker wilt toevoegen aan een Linux-VM, maakt u een bestand in de huidige shell met de naam cloud_init_add_user.txt en plakt u de volgende configuratie. In dit voorbeeld maakt u het bestand in de Cloud Shell niet op uw lokale computer. U kunt elke editor die u wilt gebruiken. Zorg ervoor dat het hele cloud-init-bestand correct is gekopieerd, met name de eerste regel. U moet uw eigen openbare sleutel (zoals de inhoud van ~/.ssh/id_rsa.pub) opgeven voor de waarde van ssh-authorized-keys: - deze is hier ingekort om het voorbeeld te vereenvoudigen.

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

Notitie

Het #cloud-config-bestand bevat de - default opgegeven parameter. Hiermee wordt de gebruiker toegevoegd aan de bestaande gebruiker met beheerdersrechten die tijdens het inrichten is gemaakt. Als u een gebruiker zonder de - default parameter maakt, wordt de automatisch gegenereerde beheerder die door het Azure-platform is gemaakt, overschreven.

Voordat u deze installatiekopieën implementeert, moet u een resourcegroep maken met de opdracht az group create . Een Azure-resourcegroep is een logische container waarin Azure-resources worden geïmplementeerd en beheerd. In het volgende voorbeeld wordt een resourcegroep met de naam myResourceGroup gemaakt op de locatie VS - oost.

az group create --name myResourceGroup --location eastus

Maak nu een VM met az vm create en geef het cloud-init-bestand --custom-data cloud_init_add_user.txt als volgt op:

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

Notitie

Vervang de waarden myResourceGroup, vmName en imageCIURN dienovereenkomstig. Zorg ervoor dat een afbeelding met Cloud-init is gekozen.

SSH naar het openbare IP-adres van uw VM die wordt weergegeven in de uitvoer van de voorgaande opdracht. Voer als volgt uw eigen gebruiker en publicIpAddress in:

ssh <user>@<publicIpAddress>

Om te bevestigen dat uw gebruiker is toegevoegd aan de VM en de opgegeven groepen, bekijkt u de inhoud van het bestand /etc/group als volgt:

sudo cat /etc/group

In de volgende voorbeelduitvoer ziet u de gebruiker uit het cloud_init_add_user.txt bestand is toegevoegd aan de virtuele machine en de juiste groep:

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

Volgende stappen

Zie het volgende voor aanvullende cloud-init-voorbeelden van configuratiewijzigingen: