Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Aplica-se a: ✔️ Linux VMs ✔️ Conjuntos de escala flexível
This article shows you how to use cloud-init to add a user on a virtual machine (VM) or virtual machine scale sets (VMSS) at provisioning time in Azure. This cloud-init script runs on first boot once the resources have been provisioned by Azure. For more information about how cloud-init works natively in Azure and the supported Linux distros, see cloud-init overview.
Add a user to a VM with cloud-init
One of the first tasks on any new Linux VM is to add an additional user for yourself to avoid the use of root. SSH keys are best practice for security and usability. Keys are added to the ~/.ssh/authorized_keys file with this cloud-init script.
To add a user to a Linux VM, create a file in your current shell named cloud_init_add_user.txt and paste the following configuration. Para este exemplo, crie o arquivo no Cloud Shell e não em sua máquina local. Pode utilizar qualquer editor que desejar. Certifique-se de que todo o arquivo cloud-init é copiado corretamente, especialmente a primeira linha. You need to provide your own public key (such as the contents of ~/.ssh/id_rsa.pub) for the value of ssh-authorized-keys:
- it has been shortened here to simplify the example.
#cloud-config
users:
- default
- name: myadminuser
groups: sudo
shell: /bin/bash
sudo: ['ALL=(ALL) NOPASSWD:ALL']
ssh-authorized-keys:
- ssh-rsa AAAAB3<snip>
Observação
The #cloud-config file includes the - default
parameter included. This will append the user, to the existing admin user created during provisioning. If you create a user without the - default
parameter - the auto generated admin user created by the Azure platform would be overwritten.
Antes de implantar esta imagem, você precisa criar um grupo de recursos com o comando az group create . Um grupo de recursos do Azure é um contêiner lógico no qual os recursos do Azure são implantados e gerenciados. O exemplo seguinte cria um grupo de recursos com o nome myResourceGroup na localização eastus.
az group create --name myResourceGroup --location eastus
Agora, crie uma VM com az vm create e especifique o ficheiro cloud-init da seguinte maneira:
az vm create \
--resource-group myResourceGroup \
--name vmName \
--image imageCIURN \
--custom-data cloud_init_add_user.txt \
--generate-ssh-keys
Observação
Substitua os valores de myResourceGroup, vmName e imageCIURN conforme necessário. Certifique-se de que uma imagem com Cloud-init foi escolhida.
SSH para o endereço IP público da sua VM mostrado na saída do comando anterior. Digite seu próprio usuário e publicIpAddress da seguinte maneira:
ssh <user>@<publicIpAddress>
To confirm your user was added to the VM and the specified groups, view the contents of the /etc/group file as follows:
sudo cat /etc/group
The following example output shows the user from the cloud_init_add_user.txt file has been added to the VM and the appropriate group:
root:x:0:
<snip />
sudo:x:27:myadminuser
<snip />
myadminuser:x:1000:
Próximos passos
Para obter exemplos adicionais de alterações de configuração na nuvem, consulte o seguinte: