Come reimpostare una password Linux locale sulle macchine virtuali di Azure

Questo articolo fornisce tre metodi per reimpostare le password delle macchine virtuali (VM) di Linux locali. Se l'account utente è scaduto o si desidera creare un nuovo account, è possibile utilizzare i seguenti metodi per creare un nuovo account amministratore locale e riottenere l'accesso alla VM.

Reimpostare la password usando l'agente Linux di Azure

È possibile reimpostare la password senza collegare il disco del sistema operativo a un'altra macchina virtuale. Questo metodo richiede che Agente Linux di Azure sia installato sulla macchina virtuale di Azure interessata.

  1. Assicurarsi che il servizio Azure Linux Agent (waagent) sia in esecuzione sulla macchina virtuale interessata e che sia in uno stato pronto nel portale di Azure.

  2. Configurare le variabili di ambiente e usare l'interfaccia della riga di comando di Azure o Azure Cloud Shell per reimpostare la password:

    AZ_RESOURCE_GROUP="YourResourceGroupName"
    AZ_VM_NAME="VMname"
    AZ_ADMIN_USER="adminName"
    AZ_MSADMIN_PASS="newPassword"
    
    az vm user update -u $AZ_ADMIN_USER -p $AZ_MSADMIN_PASS -g $AZ_RESOURCE_GROUP -n $AZ_VM_NAME
    
  3. Prova ad accedere alla VM.

Per aggiornare la chiave SSH, vedere Gestire gli utenti amministrativi, SSH usando l'estensione VMAccess con l'interfaccia della riga di comando di Azure.

È inoltre possibile reimpostare la password o la chiave SSH usando la funzionalità Reimposta password nel portale di Azure.

Per ulteriori informazioni, consultare estensione vmaccess per Linux.

Reimpostare la password utilizzando la console seriale con la modalità utente singolo

È possibile utilizzare la console seriale per reimpostare l'account admin user o root in modalità utente singolo per l'accesso alla macchina virtuale.

  1. Seguire la procedura modalità utente singolo per reimpostare o aggiungere una password.

  2. Assicurarsi che l'autenticazione con password sia abilitata sul server OpenSSH se si cerca di accedere al server utilizzando l'autenticazione SSH e la password.

    1. Verificare se il valore PasswordAuthentitcation è impostato su yes o no in /etc/ssh/sshd_config eseguendo il seguente comando:

      egrep "^PasswordAuthentication" /etc/ssh/sshd_config
      
    2. Se il valore PasswordAuthentication è impostato su no, utilizzare un editor di testo come vi o nano per modificare il valore in yes.

  3. Creare una nuova password per l'account admin user o root eseguendo il comando passwd:

    passwd <admin_user>
    
  4. Controllare se SElinux è in modalità enforcing in /etc/sysconfig/selinux eseguendo il seguente comando:

    cat /etc/sysconfig/selinux
    
  5. Se SElinux è in modalità enforcing, assicurarsi che SElinux consenta le modifiche al file effettuate con il comando passwd. Dopo la modifica della password, è possibile eseguire il seguente comando per etichettare nuovamente il file system e facilitare il caricamento della modifica.

    touch /.autorelabel
    
  6. Riavviare la macchina virtuale eseguendo il seguente comando:

    /usr/sbin/reboot -f
    
  7. Prova ad accedere alla VM.

Reimpostare la password utilizzando una macchina virtuale di ripristino

Questo metodo è stato testato utilizzando le distribuzioni e le versioni di Linux supportate.

Nota

Se i problemi riguardano un dispositivo virtuale di rete di Azure, questo metodo non è applicabile alla situazione. Invece, è necessario contattare il fornitore del dispositivo virtuale di rete per ottenere istruzioni su come eseguire la reimpostazione della password in modo sicuro.

È possibile eseguire i comandi vm repair per creare una macchina virtuale di ripristino con allegata una copia del disco del sistema operativo della macchina virtuale interessata. Quindi, montare la copia dei file system del sistema operativo sulla macchina virtuale di ripristino tramite l'ambiente chroot.

Nota

In alternativa, creare manualmente una macchina virtuale di salvataggio utilizzando il portale di Azure. Per altre informazioni, vedere Risolvere i problemi di una macchina virtuale Linux collegando il disco del sistema operativo a una macchina virtuale di ripristino tramite il portale di Azure.

  1. Eseguire i seguenti comandi az vm repair create per creare una copia del disco del sistema operativo. Quindi, il disco viene collegato automaticamente a una macchina virtuale di ripristino.

    AZ_RESOURCE_GROUP="YourResourceGroupName"
    AZ_VM_NAME="VMname"
    AZ_ADMIN_USER="userName"
    AZ_MSADMIN_PASS="newPassword"
    
    az vm repair create -g $AZ_RESOURCE_GROUP -n $AZ_VM_NAME --repair-username $AZ_ADMIN_USER --repair-password "$AZ_MSADMIN_PASS" --verbose
    
  2. Accedere alla macchina virtuale di ripristino e fare una ricerca sull'ambiente chroot.

  3. Assicurarsi che l'autenticazione con password sia abilitata sul server OpenSSH se si cerca di accedere al server utilizzando l'autenticazione SSH e la password.

    1. Verificare se il valore PasswordAuthentitcation è impostato su yes o no in /etc/ssh/sshd_config eseguendo il seguente comando:

      egrep "^PasswordAuthentication" /etc/ssh/sshd_config
      
    2. Se il valore PasswordAuthentication è impostato su no, utilizzare un editor di testo come vi o nano per modificare il valore in yes.

  4. Creare una nuova password per l'account admin user o root eseguendo il comando passwd:

    passwd <admin_user>
    
  5. Controllare se SElinux è in modalità enforcing in /etc/sysconfig/selinux eseguendo il seguente comando:

    cat /etc/sysconfig/selinux
    
  6. Se SElinux è in modalità enforcing, assicurarsi che SElinux consenta le modifiche al file effettuate con il comando passwd. Dopo la modifica della password, è possibile eseguire il seguente comando per etichettare nuovamente il file system e facilitare il caricamento della modifica.

    touch /.autorelabel
    
  7. Uscire dall'ambiente chroot.

  8. Montare nuovamente il disco del sistema operativo sulla macchina virtuale interessata scambiando il disco del sistema operativo con il seguente comando:

    az vm repair restore -g $AZ_RESOURCE_GROUP -n $AZ_VM_NAME --verbose
    
  9. Prova ad accedere alla VM.

Passaggi successivi

Contattaci per ricevere assistenza

In caso di domande o bisogno di assistenza, creare una richiesta di supporto tecnico oppure formula una domanda nel Supporto della community di Azure. È possibile anche inviare un feedback sul prodotto al feedback della community di Azure.