Zurücksetzen des lokalen Linux-Kennworts auf Azure-VMs

In diesem Artikel werden drei Methoden zum Zurücksetzen des lokalen Kennworts eines virtuellen Linux-Computers (VM) vorgestellt. Wenn das Benutzerkonto abgelaufen ist oder Sie ein neues Konto erstellen möchten, können Sie die folgenden Methoden nutzen, um ein neues lokales Administratorkonto zu erstellen und erneut Zugriff auf den virtuellen Computer zu erhalten.

Zurücksetzen des Kennworts mithilfe des Azure Linux-Agents

Sie können das Kennwort zurücksetzen, ohne den Betriebssystemdatenträger an eine andere VM anzuhängen. Diese Methode erfordert, dass der Azure Linux-Agent auf der betroffenen VM installiert wird.

  1. Stellen Sie sicher, dass der Dienst „Azure Linux Agent“ (waagent) auf der betroffenen VM ausgeführt wird und im Azure-Portal einen Bereitschaftsstatus aufweist.

  2. Richten Sie die Umgebungsvariablen ein und verwenden Sie die Azure CLI oder Azure Cloud Shell zum Zurücksetzen des Kennworts:

    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. Versuchen Sie, auf den virtuellen Computer zuzugreifen.

Informationen zum Aktualisieren des SSH-Schlüssels finden Sie unter Verwalten von Administratoren, SSH mithilfe der VMAccess-Erweiterung mit der Azure CLI.

Sie können das Kennwort oder den SSH-Schlüssel auch zurücksetzen, indem Sie die Funktion Kennwort zurücksetzen im Azure-Portal verwenden.

Weitere Informationen finden Sie unter VMaccess-Erweiterung für Linux.

Zurücksetzen des Kennworts mithilfe der seriellen Konsole im Einzelbenutzermodus

Sie können die serielle Konsole verwenden, um das Konto admin user oder root im Einzelbenutzermodus für den VM-Zugriff zurückzusetzen.

  1. Führen Sie den Prozess Einzelbenutzermodus durch, um ein Kennwort zurückzusetzen oder hinzuzufügen.

  2. Stellen Sie sicher, dass die Kennwortauthentifizierung auf dem OpenSSH-Server aktiviert ist, wenn Sie versuchen, sich mithilfe der SSH- und Kennwortauthentifizierung beim Server anzumelden.

    1. Prüfen Sie, ob der Wert PasswordAuthentitcation in /etc/ssh/sshd_config auf yes oder no gesetzt ist, indem Sie den folgenden Befehl ausführen:

      egrep "^PasswordAuthentication" /etc/ssh/sshd_config
      
    2. Wenn der Wert PasswordAuthentication auf no gesetzt ist, verwenden Sie einen Texteditor wie vi oder nano, um den Wert auf yes zu ändern.

  3. Erstellen Sie ein neues Passwort für das Konto admin user oder root, indem Sie den Befehl passwd ausführen:

    passwd <admin_user>
    
  4. Prüfen Sie, ob sich SElinux im Modus enforcing in /etc/sysconfig/selinux befindet, indem Sie den folgenden Befehl ausführen:

    cat /etc/sysconfig/selinux
    
  5. Wenn sich SElinux im Modus enforcing befindet, stellen Sie sicher, dass SElinux die mit dem Befehl passwd vorgenommenen Dateiänderungen zulässt. Nachdem das Kennwort geändert wurde, können Sie den folgenden Befehl ausführen, um das Dateisystem neu zu bezeichnen, um das Laden der Änderung zu erleichtern.

    touch /.autorelabel
    
  6. Starten Sie die VM neu, indem Sie den folgenden Befehl ausführen:

    /usr/sbin/reboot -f
    
  7. Versuchen Sie, auf den virtuellen Computer zuzugreifen.

Zurücksetzen des Passworts mit einer Reparatur-VM

Diese Methode wurde mit den unterstützten Linux-Distributionen und -Versionen getestet.

Hinweis

Wenn bei Ihnen Probleme auftreten, die eine virtuelle Azure-Netzwerk-Appliance betreffen, gilt diese Methode nicht für Ihre Situation. Stattdessen müssen Sie sich an den Anbieter der virtuellen Netzwerk-Appliance wenden, um Anweisungen zum sicheren Zurücksetzen des Kennworts zu erhalten.

Sie können die VM-Reparatur-Befehle ausführen, um eine Reparatur-VM zu erstellen, an die eine Kopie des Betriebssystemdatenträgers der betroffenen VM angehängt ist. Binden Sie dann die Kopie der Betriebssystemdateisysteme auf der Reparatur-VM über die Chroot-Umgebung ein.

Hinweis

Alternativ können Sie mithilfe des Azure-Portals manuell eine Rettungs-VM erstellen. Weitere Informationen finden Sie unter Beheben von Problemen mit einer Linux-VM durch Hinzufügen des Betriebssystemdatenträgers zu einer Wiederherstellungs-VM im Azure-Portal.

  1. Führen Sie die folgenden az vm repair create-Befehle aus, um eine Kopie des Betriebssystemdatenträgers zu erstellen. Anschließend wird der Datenträger automatisch an eine Wiederherstellungs-VM angefügt.

    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. Melden Sie sich bei der Reparatur-VM an und beheben Sie die Probleme der Chroot-Umgebung.

  3. Stellen Sie sicher, dass die Kennwortauthentifizierung auf dem OpenSSH-Server aktiviert ist, wenn Sie versuchen, sich mithilfe der SSH- und Kennwortauthentifizierung beim Server anzumelden.

    1. Prüfen Sie, ob der Wert PasswordAuthentitcation in /etc/ssh/sshd_config auf yes oder no gesetzt ist, indem Sie den folgenden Befehl ausführen:

      egrep "^PasswordAuthentication" /etc/ssh/sshd_config
      
    2. Wenn der Wert PasswordAuthentication auf no gesetzt ist, verwenden Sie einen Texteditor wie vi oder nano, um den Wert auf yes zu ändern.

  4. Erstellen Sie ein neues Passwort für das Konto admin user oder root, indem Sie den Befehl passwd ausführen:

    passwd <admin_user>
    
  5. Prüfen Sie, ob sich SElinux im Modus enforcing in /etc/sysconfig/selinux befindet, indem Sie den folgenden Befehl ausführen:

    cat /etc/sysconfig/selinux
    
  6. Wenn sich SElinux im Modus enforcing befindet, stellen Sie sicher, dass SElinux die mit dem Befehl passwd vorgenommenen Dateiänderungen zulässt. Nachdem das Kennwort geändert wurde, können Sie den folgenden Befehl ausführen, um das Dateisystem neu zu bezeichnen, um das Laden der Änderung zu erleichtern.

    touch /.autorelabel
    
  7. Beenden Sie die Chroot-Umgebung.

  8. Binden Sie die Betriebssystemdatenträger wieder in die betroffene VM ein, indem Sie den Betriebssystemdatenträger mit dem folgenden Befehl austauschen:

    az vm repair restore -g $AZ_RESOURCE_GROUP -n $AZ_VM_NAME --verbose
    
  9. Versuchen Sie, auf den virtuellen Computer zuzugreifen.

Nächste Schritte

Kontaktieren Sie uns für Hilfe

Wenn Sie Fragen haben oder Hilfe mit Ihren Azure-Gutschriften benötigen, dann erstellen Sie beim Azure-Support eine Support-Anforderung oder fragen Sie den Azure Community-Support. Sie können auch Produktfeedback an die Azure Feedback Community senden.