Delen via


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

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

In dit artikel leest u hoe u cloud-init gebruikt om een gebruiker toe te voegen aan 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 het 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 virtuele machine met cloud-init

Een van de eerste taken op een nieuwe Virtuele Linux-machine is om een extra gebruiker voor uzelf toe te voegen om het gebruik van de hoofdmap te voorkomen. SSH-sleutels zijn aanbevolen 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 Virtuele Linux-machine, maakt u een bestand in de huidige shell met de naam cloud_init_add_user.txt en plakt u de volgende configuratie. Maak voor dit voorbeeld het bestand in 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 bestand #cloud-configuratie bevat de - default parameter die is opgenomen. Hiermee wordt de gebruiker toegevoegd aan de bestaande beheerder die is gemaakt tijdens het inrichten. Als u een gebruiker maakt zonder de - default parameter, wordt de automatisch gegenereerde beheerdergebruiker 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 virtuele machine 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 VIRTUELE machine die wordt weergegeven in de uitvoer van de voorgaande opdracht. Voer als volgt uw eigen gebruiker en publicIpAddress in:

ssh <user>@<publicIpAddress>

Als u wilt bevestigen dat uw gebruiker is toegevoegd aan de virtuele machine en de opgegeven groepen, bekijkt u de inhoud van het /etc/-groepsbestand als volgt:

sudo cat /etc/group

In de volgende voorbeelduitvoer ziet u dat 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: