Freigeben über


Zurücksetzen eines Linux-VM-Kennworts oder eines SSH-Schlüssels, Beheben der SSH-Konfiguration und Überprüfen der Datenträgerkonsistenz mithilfe der VMAccess-Erweiterung

Wichtig

Klassische VMs werden am 1. März 2023 vom Dienst genommen.

Wenn Sie IaaS-Ressourcen von ASM verwenden, schließen Sie Ihre Migration bis zum 1. März 2023 ab. Es wird empfohlen, den Wechsel früher vorzunehmen, um die vielen verbesserten Features in Azure Resource Manager zu nutzen.

Weitere Informationen finden Sie unter Migrieren Ihrer IaaS-Ressourcen zum Azure Resource Manager bis zum 1. März 2023.

Wenn Sie aufgrund eines vergessenen Kennworts, eines falschen SSH-Schlüssels oder eines Problems mit der SSH-Konfiguration keine Verbindung mit einem virtuellen Linux-Computer auf Azure herstellen können, verwenden Sie die VMAccessForLinux-Erweiterung mit der Azure CLI, um das Kennwort oder den SSH-Schlüssel zurückzusetzen, die SSH-Konfiguration zu beheben und die Datenträgerkonsistenz zu überprüfen.

Hinweis

Azure verfügt über zwei verschiedene Bereitstellungsmodelle für das Erstellen und Verwenden von Ressourcen: Resource Manager-Bereitstellungen und klassische Bereitstellungen. Dieser Artikel befasst sich mit der Verwendung des klassischen Bereitstellungsmodells. Microsoft empfiehlt für die meisten neuen Bereitstellungen die Verwendung des Ressourcen-Manager-Modells. Erfahren Sie, wie Sie diese Schritte mit dem Resource Manager-Modell ausführen.

Mit der Azure CLI verwenden Sie den Befehl "Azure VM-Erweiterungssatz " über die Befehlszeilenschnittstelle (Bash, Terminal, Eingabeaufforderung) für den Zugriff auf Befehle. Führen Sie azure help vm extension set aus, um detaillierte Informationen zur Nutzung der Erweiterung zu erhalten.

Mit der Azure CLI können Sie die folgenden Aufgaben ausführen:

Voraussetzungen

Gehen Sie wie folgt vor:

  • Sie müssen die Azure CLI installieren und eine Verbindung mit Ihrem Abonnement herstellen , um Azure-Ressourcen zu verwenden, die Ihrem Konto zugeordnet sind.
  • Legen Sie den richtigen Modus für das klassische Bereitstellungsmodell fest, indem Sie Folgendes an der Eingabeaufforderung eingeben:
        azure config mode asm
    
  • Verfügen Sie über ein neues Kennwort oder eine Reihe von SSH-Schlüsseln, wenn Sie eines zurücksetzen möchten. Sie benötigen diese nicht, wenn Sie die SSH-Konfiguration zurücksetzen möchten.

Zurücksetzen des Kennworts

  1. Erstellen Sie eine Datei auf Ihrem lokalen Computer namens PrivateConf.json mit diesen Zeilen. Ersetzen Sie "myUserName und myP@ssW0rd durch Ihren eigenen Benutzernamen und Ihr eigenes Kennwort, und legen Sie Ihr eigenes Ablaufdatum fest.

        {
        "username":"myUserName",
        "password":"myP@ssW0rd",
        "expiration":"2020-01-01"
        }
    
  2. Führen Sie diesen Befehl aus, und ersetzen Sie den Namen Ihres virtuellen Computers für myVM.

        azure vm extension set myVM VMAccessForLinux Microsoft.OSTCExtensions 1.* –-private-config-path PrivateConf.json
    

Zurücksetzen des SSH-Schlüssels

  1. Erstellen Sie eine Datei mit dem Namen PrivateConf.json mit diesen Inhalten. Ersetzen Sie die Werte "myUserName " und "mySSHKey " durch Ihre eigenen Informationen.

        {
        "username":"myUserName",
        "ssh_key":"mySSHKey"
        }
    
  2. Führen Sie diesen Befehl aus, und ersetzen Sie den Namen Ihres virtuellen Computers für myVM.

     azure vm extension set myVM VMAccessForLinux Microsoft.OSTCExtensions 1.* --private-config-path PrivateConf.json
    

Setzen Sie sowohl das Kennwort als auch den SSH-Schlüssel zurück.

  1. Erstellen Sie eine Datei mit dem Namen PrivateConf.json mit diesen Inhalten. Ersetzen Sie die Werte "myUserName", "mySSHKey " und "myP@ssW0rd " durch Ihre eigenen Informationen.

        {
        "username":"myUserName",
        "ssh_key":"mySSHKey",
        "password":"myP@ssW0rd"
        }
    
  2. Führen Sie diesen Befehl aus, und ersetzen Sie den Namen Ihres virtuellen Computers für myVM.

        azure vm extension set MyVM VMAccessForLinux Microsoft.OSTCExtensions 1.* --private-config-path PrivateConf.json
    

Erstellen eines neuen sudo-Benutzerkontos

Wenn Sie Ihren Benutzernamen vergessen, können Sie VMAccess verwenden, um eine neue mit der sudo-Autorität zu erstellen. In diesem Fall wird der vorhandene Benutzername und das Kennwort nicht geändert.

Um einen neuen sudo-Benutzer mit Kennwortzugriff zu erstellen, verwenden Sie das Skript unter "Kennwort zurücksetzen ", und geben Sie den neuen Benutzernamen an.

Um einen neuen sudo-Benutzer mit SSH-Schlüsselzugriff zu erstellen, verwenden Sie das Skript unter "Zurücksetzen des SSH-Schlüssels ", und geben Sie den neuen Benutzernamen an.

Sie können auch das Kennwort und den SSH-Schlüssel zurücksetzen, um einen neuen Benutzer mit Zugriff auf Kennwort und SSH-Schlüssel zu erstellen.

Zurücksetzen der SSH-Konfiguration

Wenn sich die SSH-Konfiguration in einem unerwünschten Zustand befindet, verlieren Sie möglicherweise auch den Zugriff auf den virtuellen Computer. Sie können die VMAccess-Erweiterung verwenden, um die Konfiguration auf den Standardzustand zurückzusetzen. Dazu müssen Sie nur die Taste "reset_ssh" auf "True" festlegen. Die Erweiterung startet den SSH-Server neu, öffnet den SSH-Port auf Ihrem virtuellen Computer, und setzt die SSH-Konfiguration auf Standardwerte zurück. Das Benutzerkonto (Name, Kennwort oder SSH-Schlüssel) wird nicht geändert.

Hinweis

Die SSH-Konfigurationsdatei, die zurückgesetzt wird, befindet sich unter /etc/ssh/sshd_config.

  1. Erstellen Sie eine Datei mit dem Namen PrivateConf.json mit diesem Inhalt.

        {
        "reset_ssh":"True"
        }
    
  2. Führen Sie diesen Befehl aus, und ersetzen Sie den Namen Ihres virtuellen Computers für myVM.

     	azure vm extension set myVM VMAccessForLinux Microsoft.OSTCExtensions 1.* --private-config-path PrivateConf.json
    

Löschen eines Benutzers

Wenn Sie ein Benutzerkonto löschen möchten, ohne sich direkt bei der VM anzumelden, können Sie dieses Skript verwenden.

  1. Erstellen Sie eine Datei mit dem Namen PrivateConf.json mit diesem Inhalt, und ersetzen Sie den Benutzernamen, der für removeUserName entfernt werden soll.

        {
        "remove_user":"removeUserName"
        }
    
  2. Führen Sie diesen Befehl aus, und ersetzen Sie den Namen Ihres virtuellen Computers für myVM.

        azure vm extension set myVM VMAccessForLinux Microsoft.OSTCExtensions 1.* --private-config-path PrivateConf.json
    

Anzeigen des Status der VMAccess-Erweiterung

Führen Sie diesen Befehl aus, um den Status der VMAccess-Erweiterung anzuzeigen.

        azure vm extension get

Überprüfen der Konsistenz von hinzugefügten Datenträgern

Um fsck auf allen Datenträgern auf Ihrem virtuellen Linux-Computer auszuführen, müssen Sie die folgenden Schritte ausführen:

  1. Erstellen Sie eine Datei mit dem Namen PublicConf.json mit diesem Inhalt. Der Check-Disk-Befehl verwendet einen booleschen Wert, um festzulegen, ob die an Ihre virtuelle Maschine angeschlossenen Datenträger überprüft werden sollen oder nicht.

        {   
        "check_disk": "true"
        }
    
  2. Führen Sie diesen Befehl aus, um den Namen Ihres virtuellen Computers für myVM zu ersetzen.

        azure vm extension set myVM VMAccessForLinux Microsoft.OSTCExtensions 1.* --public-config-path PublicConf.json 
    

Reparieren von Datenträgern

Verwenden Sie die VMAccess-Erweiterung, um die Bereitstellungskonfiguration auf Ihrem virtuellen Linux-Computer zurückzusetzen und Datenträger zu reparieren, die nicht bereitgestellt werden oder Bereitstellungskonfigurationsfehler aufweisen. Ersetzen des Namens Ihres Datenträgers für "myDisk".

  1. Erstellen Sie eine Datei mit dem Namen PublicConf.json mit diesem Inhalt.

        {
        "repair_disk":"true",
        "disk_name":"myDisk"
        }
    
  2. Führen Sie diesen Befehl aus, um den Namen Ihres virtuellen Computers für myVM zu ersetzen.

        azure vm extension set myVM VMAccessForLinux Microsoft.OSTCExtensions 1.* --public-config-path PublicConf.json
    

Nächste Schritte

  • Wenn Sie Azure PowerShell-Cmdlets oder Azure Resource Manager-Vorlagen verwenden möchten, um das Kennwort oder den SSH-Schlüssel zurückzusetzen, die SSH-Konfiguration zu beheben und die Datenträgerkonsistenz zu überprüfen, lesen Sie die Dokumentation zur VMAccess-Erweiterung auf GitHub.
  • Sie können auch das Azure-Portal verwenden, um das Kennwort oder den SSH-Schlüssel einer linux-VM zurückzusetzen, die im klassischen Bereitstellungsmodell bereitgestellt wird. Derzeit können Sie das Portal nicht verwenden, um dies für einen virtuellen Linux-Computer zu tun, der im Ressourcen-Manager-Bereitstellungsmodell bereitgestellt wird.
  • Weitere Informationen zur Verwendung von VM-Erweiterungen für virtuelle Azure-Computer finden Sie unter "Erweiterungen und Features virtueller Computer ".