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:
Feedback
https://aka.ms/ContentUserFeedback.
Binnenkort beschikbaar: In de loop van 2024 zullen we GitHub-problemen geleidelijk uitfaseren als het feedbackmechanisme voor inhoud en deze vervangen door een nieuw feedbacksysteem. Zie voor meer informatie:Feedback verzenden en weergeven voor