Come reimpostare la password di Linux locale nelle macchine virtuali di Azure

Si applica a: ✔️ macchine virtuali Linux

Questo articolo fornisce tre metodi per reimpostare le password della macchina virtuale Linux locale. Se l'account utente è scaduto o si vuole creare un nuovo account, è possibile usare i metodi seguenti per creare un nuovo account amministratore locale e ottenere nuovamente l'accesso alla macchina virtuale.

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 l'agente Linux di Azure sia installato nella macchina virtuale interessata.

  1. Assicurarsi che il servizio agente Linux di Azure (waagent) sia in esecuzione nella macchina virtuale interessata e sia 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 eseguire la reimpostazione della 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. Provare ad accedere alla macchina virtuale.

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

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

Per altre informazioni, vedere estensione vmaccess per Linux.

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

È possibile usare la console seriale per reimpostare l'account admin user o root tramite la modalità utente singolo per l'accesso alle macchine virtuali.

  1. Seguire il processo in modalità utente singolo per reimpostare o aggiungere una password.

  2. Assicurarsi che l'autenticazione della password sia abilitata nel server OpenSSH se si tenta di accedere al server usando l'autenticazione SSH e password.

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

      egrep "^PasswordAuthentication" /etc/ssh/sshd_config
      
    2. Se il PasswordAuthentication valore è impostato su no, usare 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 passwd comando :

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

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

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

    /usr/sbin/reboot -f
    
  7. Provare ad accedere alla macchina virtuale.

Reimpostare la password usando una macchina virtuale di ripristino

Questo metodo è stato testato usando le distribuzioni e le versioni linux supportate.

Nota

Se si verificano problemi che interessano un'appliance virtuale di rete di Azure, questo metodo non si applica alla situazione. È invece necessario contattare il fornitore dell'appliance virtuale di rete per ottenere istruzioni su come eseguire una reimpostazione della password in modo sicuro.

È possibile eseguire i comandi di ripristino della macchina virtuale per creare una macchina virtuale di ripristino con una copia del disco del sistema operativo della macchina virtuale interessata collegato. Montare quindi la copia dei file system del sistema operativo nella macchina virtuale di ripristino tramite l'ambiente chroot.

Nota

In alternativa, creare manualmente una macchina virtuale di ripristino usando 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 usando il portale di Azure.

  1. Eseguire i comandi az vm repair create seguenti per creare una copia del disco del sistema operativo. Il disco viene quindi 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 risolvere i problemi relativi all'ambiente chroot.

  3. Assicurarsi che l'autenticazione della password sia abilitata nel server OpenSSH se si tenta di accedere al server usando l'autenticazione SSH e password.

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

      egrep "^PasswordAuthentication" /etc/ssh/sshd_config
      
    2. Se il PasswordAuthentication valore è impostato su no, usare 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 passwd comando :

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

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

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

  8. Rimontare il disco del sistema operativo nella macchina virtuale interessata scambiando il disco del sistema operativo con il comando seguente:

    az vm repair restore -g $AZ_RESOURCE_GROUP -n $AZ_VM_NAME --verbose
    
  9. Provare ad accedere alla macchina virtuale.

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.