Gestire utenti, SSH e dischi di controllo o di ripristino in VM Linux di Azure tramite l'estensione VMAccess con l'interfaccia della riga di comando di Azure 1.0Manage users, SSH, and check or repair disks on Azure Linux VMs using the VMAccess Extension with the Azure CLI 1.0

Questo articolo illustra come usare l'estensione VMAccess di Azure per controllare o ripristinare un disco, reimpostare l'accesso utente, gestire gli account utente o reimpostare la configurazione dei dischi SSHD in Linux.This article shows you how to use the Azure VMAcesss Extension to check or repair a disk, reset user access, manage user accounts, or reset the SSHD configuration on Linux. L'articolo richiede:The article requires:

Versioni dell'interfaccia della riga di comando per completare l'attivitàCLI versions to complete the task

È possibile completare l'attività usando una delle versioni seguenti dell'interfaccia della riga di comando:You can complete the task using one of the following CLI versions:

Comandi rapidiQuick commands

Esistono due modi per usare VMAccess nelle VM Linux:There are two ways to use VMAccess on your Linux VMs:

  • Usare l'interfaccia della riga di comando di Azure 1.0 e i parametri richiesti.Using the Azure CLI 1.0 and the required parameters.
  • Usare file JSON non elaborati che VMAccess elabora e su cui basa le sue operazioni.Using raw JSON files that VMAccess processes and then act on.

Per la sezione dei comandi rapidi si userà il metodo azure vm reset-access dell'interfaccia della riga di comando di Azure 1.0.For the quick command section, we are going to use the Azure CLI 1.0 azure vm reset-access method. Negli esempi di comandi seguenti sostituire i valori contenenti "example" con i valori dell'ambiente locale.In the following command examples, replace the values that contain "example" with the values from your own environment.

Creare un gruppo di risorse e una VM LinuxCreate a Resource Group and Linux VM

azure group create myResourceGroup westus

Creare una VM DebianCreate a Debian VM

azure vm quick-create \
  -M ~/.ssh/id_rsa.pub \
  -u myAdminUser \
  -g myResourceGroup \
  -l westus \
  -y Linux \
  -n myVM \
  -Q Debian

Reimpostare la password radiceReset root password

Per reimpostare la password radice:To reset the root password:

azure vm reset-access \
  -g myResourceGroup \
  -n myVM \
  -u root \
  -p myNewPassword

Reimpostazione della chiave SSHSSH key reset

Per reimpostare la chiave SSH di un utente non ROOT:To reset the SSH key of a non-root user:

azure vm reset-access \
  -g myResourceGroup \
  -n myVM \
  -u myAdminUser \
  -M ~/.ssh/id_rsa.pub

Creare un utenteCreate a user

Per creare un utente:To create a user:

azure vm reset-access \
  -g myResourceGroup \
  -n myVM \
  -u myAdminUser \
  -p myAdminUserPassword

Rimuovere un utenteRemove a user

azure vm reset-access \
  -g myResourceGroup \
  -n myVM \
  -R myRemovedUser

Reimpostare un disco SSHDReset SSHD

Per reimpostare la configurazione di un disco SSHD:To reset the SSHD configuration:

azure vm reset-access \
  -g myResourceGroup \
  -n myVM
  -r

Procedura dettagliataDetailed walkthrough

Estensione VMAccess definita:VMAccess defined:

Il disco della VM Linux genera errori.The disk on your Linux VM is showing errors. In qualche modo la password radice della VM Linux è stata reimpostata o la chiave privata SSH è stata eliminata accidentalmente.You somehow reset the root password for your Linux VM or accidentally deleted your SSH private key. In passato, quando nel data center si verificava questa situazione, era necessario accedere all'unità e quindi aprire il KVM per raggiungere la console del server.If that happened back in the days of the datacenter, you would need to drive there and then open the KVM to get at the server console. L'estensione VMAccess di Azure può essere concepita come il commutatore tastiera, video e mouse che consente di accedere alla console per reimpostare l'accesso a Linux o eseguire la manutenzione a livello di disco.Think of the Azure VMAccess extension as that KVM switch that allows you to access the console to reset access to Linux or perform disk level maintenance.

Per la procedura dettagliata si userà la forma estesa di VMAccess, che usa file JSON non elaborati.For the detailed walkthrough, we are going to use the long form of VMAccess, which uses raw JSON files. Questi file JSON di VMAccess possono essere chiamati anche dai modelli di Azure.These VMAccess JSON files can also be called from Azure templates.

Uso di VMAccess per controllare o riparare il disco di una VM LinuxUsing VMAccess to check or repair the disk of a Linux VM

Con VMAccess è possibile eseguire il comando fsck sul disco della VM Linux.Using VMAccess you can do a fsck run on the disk under your Linux VM. È inoltre possibile eseguire una verifica del disco e ripristinarlo utilizzando un VMAccess.You can also do a disk check and a disk repair using a VMAccess.

Per controllare e quindi ripristinare il disco, usare questo script VMAccess:To check, and then repair the disk use this VMAccess script:

disk_check_repair.json

{
  "check_disk": "true",
  "repair_disk": "true, user-disk-name"
}

Eseguire lo script VMAccess con:Execute the VMAccess script with:

azure vm extension set \
  myResourceGroup \
  myVM \
  VMAccessForLinux \
  Microsoft.OSTCExtensions * \
  --private-config-path disk_check_repair.json

Uso di VMAccess per reimpostare l'accesso utente a LinuxUsing VMAccess to reset user access to Linux

Se si è perso l'accesso alla radice della VM Linux è possibile avviare uno script VMAccess per reimpostare la password radice.If you have lost access to root on your Linux VM, you can launch a VMAccess script to reset the root password.

Per reimpostare la password radice, usare questo script VMAccess:To reset the root password, use this VMAccess script:

reset_root_password.json

{
  "username":"root",
  "password":"myNewPassword"
}

Eseguire lo script VMAccess con:Execute the VMAccess script with:

azure vm extension set \
  myResourceGroup \
  myVM \
  VMAccessForLinux \
  Microsoft.OSTCExtensions * \
  --private-config-path reset_root_password.json

Per reimpostare la chiave SSH di un utente non ROOT usare questo script VMAccess:To reset the SSH key of a non-root user, use this VMAccess script:

reset_ssh_key.json

{
  "username":"myAdminUser",
  "ssh_key":"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCZ3S7gGp3rcbKmG2Y4vGZFMuMZCwoUzZNG1vHY7P2XV2x9FfAhy8iGD+lF8UdjFX3t5ebMm6BnnMh8fHwkTRdOt3LDQq8o8ElTBrZaKPxZN2thMZnODs5Hlemb2UX0oRIGRcvWqsd4oJmxsXa/Si98Wa6RHWbc9QZhw80KAcOVhmndZAZAGR+Wq6yslNo5TMOr1/ZyQAook5C4FtcSGn3Y+WczaoGWIxG4ZaWk128g79VIeJcIQqOjPodHvQAhll7qDlItVvBfMOben3GyhYTm7k4YwlEdkONm4yV/UIW0la1rmyztSBQIm9sZmSq44XXgjVmDHNF8UfCZ1ToE4r2SdwTmZv00T2i5faeYnHzxiLPA3Enub7iUo5IdwFArnqad7MO1SY1kLemhX9eFjLWN4mJe56Fu4NiWJkR9APSZQrYeKaqru4KUC68QpVasNJHbuxPSf/PcjF3cjO1+X+4x6L1H5HTPuqUkyZGgDO4ynUHbko4dhlanALcriF7tIfQR9i2r2xOyv5gxJEW/zztGqWma/d4rBoPjnf6tO7rLFHXMt/DVTkAfn5woYtLDwkn5FMyvThRmex3BDf0gujoI1y6cOWLe9Y5geNX0oj+MXg/W0cXAtzSFocstV1PoVqy883hNoeQZ3mIGB3Q0rIUm5d9MA2bMMt31m1g3Sin6EQ== myAdminUser@myVM" 
}

Eseguire lo script VMAccess con:Execute the VMAccess script with:

azure vm extension set \
  myResourceGroup \
  myVM \
  VMAccessForLinux \
  Microsoft.OSTCExtensions * \
  --private-config-path reset_ssh_key.json

Uso di VMAccess per gestire gli account utente in LinuxUsing VMAccess to manage user accounts on Linux

VMAccess è uno script Python che può essere usato per gestire gli utenti nella VM Linux senza accedere e senza usare sudo o l'account radice.VMAccess is a Python script that can be used to manage users on your Linux VM without logging in and using sudo or the root account.

Per creare un utente, usare questo script VMAccess:To create a user, use this VMAccess script:

create_new_user.json

{
  "username":"myNewUser",
  "ssh_key":"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCZ3S7gGp3rcbKmG2Y4vGZFMuMZCwoUzZNG1vHY7P2XV2x9FfAhy8iGD+lF8UdjFX3t5ebMm6BnnMh8fHwkTRdOt3LDQq8o8ElTBrZaKPxZN2thMZnODs5Hlemb2UX0oRIGRcvWqsd4oJmxsXa/Si98Wa6RHWbc9QZhw80KAcOVhmndZAZAGR+Wq6yslNo5TMOr1/ZyQAook5C4FtcSGn3Y+WczaoGWIxG4ZaWk128g79VIeJcIQqOjPodHvQAhll7qDlItVvBfMOben3GyhYTm7k4YwlEdkONm4yV/UIW0la1rmyztSBQIm9sZmSq44XXgjVmDHNF8UfCZ1ToE4r2SdwTmZv00T2i5faeYnHzxiLPA3Enub7iUo5IdwFArnqad7MO1SY1kLemhX9eFjLWN4mJe56Fu4NiWJkR9APSZQrYeKaqru4KUC68QpVasNJHbuxPSf/PcjF3cjO1+X+4x6L1H5HTPuqUkyZGgDO4ynUHbko4dhlanALcriF7tIfQR9i2r2xOyv5gxJEW/zztGqWma/d4rBoPjnf6tO7rLFHXMt/DVTkAfn5woYtLDwkn5FMyvThRmex3BDf0gujoI1y6cOWLe9Y5geNX0oj+MXg/W0cXAtzSFocstV1PoVqy883hNoeQZ3mIGB3Q0rIUm5d9MA2bMMt31m1g3Sin6EQ== myNewUser@myVM",
  "password":"myNewUserPassword"
}

Eseguire lo script VMAccess con:Execute the VMAccess script with:

azure vm extension set \
  myResourceGroup \
  myVM \
  VMAccessForLinux \
  Microsoft.OSTCExtensions * \
  --private-config-path create_new_user.json

Per eliminare un utente, usare questo script VMAccess:To delete a user, use this VMAccess script:

remove_user.json

{
  "remove_user":"myDeletedUser"
}

Eseguire lo script VMAccess con:Execute the VMAccess script with:

azure vm extension set \
  myResourceGroup \
  myVM \
  VMAccessForLinux \
  Microsoft.OSTCExtensions * \
  --private-config-path remove_user.json

Uso di VMAccess per reimpostare la configurazione SSHDUsing VMAccess to reset the SSHD configuration

Se si apportano modifiche alla configurazione del disco SSHD della VM Linux e si chiude la connessione SSH prima di verificare le modifiche, potrebbe essere impedita una nuova connessione SSH.If you make changes to the Linux VMs SSHD configuration and close the SSH connection before verifying the changes, you may be prevented from SSH'ing back in. È possibile usare VMAccess per ripristinare una configurazione SSHD valida nota senza aver effettuato l'accesso tramite SSH.VMAccess can be used to reset the SSHD configuration back to a known good configuration without being logged in over SSH.

Per reimpostare la configurazione SSHD usare questo script VMAccess:To reset the SSHD configuration use this VMAccess script:

reset_sshd.json

{
  "reset_ssh": true
}

Eseguire lo script VMAccess con:Execute the VMAccess script with:

azure vm extension set \
  myResourceGroup \
  myVM \
  VMAccessForLinux \
  Microsoft.OSTCExtensions * \
  --private-config-path reset_sshd.json

Passaggi successiviNext steps

L'aggiornamento di Linux mediante le estensioni VMAccess di Azure è un metodo per apportare modifiche a una VM Linux in esecuzione.Updating Linux using Azure VMAccess Extensions is one method to make changes on a running Linux VM. È inoltre possibile usare strumenti come cloud-init e modelli di Azure per modificare la VM Linux in fase di avvio.You can also use tools like cloud-init and Azure Templates to modify your Linux VM on boot.

Informazioni sulle estensioni e sulle funzionalità delle macchine virtualiAbout virtual machine extensions and features

Creazione di modelli di Azure Resource Manager con le estensioni di VM LinuxAuthoring Azure Resource Manager templates with Linux VM extensions

Uso di cloud-init per personalizzare una VM Linux durante la creazioneUsing cloud-init to customize a Linux VM during creation