Använda cloud-init för att lägga till en användare till en virtuell Linux-dator i Azure
Gäller för: ✔️ Flexibla skalningsuppsättningar för virtuella Linux-datorer ✔️
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 VMSS (VMSS) vid etableringstillfället 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 de Linux-distributioner som stöds finns i översikten över cloud-init.
Lägga till en användare i 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 i en virtuell Linux-dator skapar du en fil i det aktuella gränssnittet med namnet cloud_init_add_user.txt och klistrar in följande konfiguration. I det här exemplet skapar du filen i Cloud Shell som inte finns 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>
Kommentar
Filen #cloud-config innehåller parametern - default
som ingår. Detta lägger till användaren till 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 i regionen eastus.
az group create --name myResourceGroup --location eastus
Skapa nu en virtuell dator med az vm create och ange filen cloud-init 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
Kommentar
Ersätt värdena myResourceGroup, vmName och imageCIURN i enlighet med detta. 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>
Om du vill bekräfta att användaren har lagts till i den virtuella datorn och de angivna grupperna visar du innehållet i /etc/group-filen på följande sätt:
sudo cat /etc/group
Följande exempelutdata visar att användaren från den 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 moln-init-exempel på konfigurationsändringar finns i följande: