Delen via


Een linux-VM-wachtwoord of SSH-sleutel opnieuw instellen, de SSH-configuratie herstellen en de consistentie van de schijf controleren met de extensie VMAccess

Belangrijk

Klassieke VM's worden op 1 maart 2023 buiten gebruik gesteld.

Als u IaaS-resources van ASM gebruikt, dient u de migratie uiterlijk 1 maart 2023 te voltooien. U wordt aangeraden al eerder over te schakelen om te kunnen profiteren van de vele functieverbeteringen in Azure Resource Manager.

Zie Uw IaaS-resources vóór 1 maart 2023 naar Azure Resource Manager migreren voor meer informatie.

Als u geen verbinding kunt maken met een virtuele Linux-machine in Azure vanwege een vergeten wachtwoord, een onjuiste SSH-sleutel (Secure Shell) of een probleem met de SSH-configuratie, gebruikt u de extensie VMAccessForLinux met de Azure CLI om het wachtwoord of de SSH-sleutel opnieuw in te stellen, de SSH-configuratie te herstellen en de consistentie van de schijf te controleren.

Notitie

Azure heeft twee verschillende implementatiemodellen voor het maken en werken met resources: Resource Manager en klassiek. In dit artikel wordt het gebruik van het klassieke implementatiemodel beschreven. U doet er verstandig aan voor de meeste nieuwe implementaties het Resource Manager-model te gebruiken. Lees meer informatie over het uitvoeren van deze stappen met het Resource Manager-model.

Met de Azure CLI gebruikt u de opdracht azure vm extension set vanuit de opdrachtregelinterface (Bash, Terminal, Command prompt) om toegang te krijgen tot opdrachten. Voer azure help vm extension set uit voor gedetailleerd extensiegebruik.

Met de Azure CLI kunt u de volgende taken uitvoeren:

Vereisten

U moet het volgende doen:

  • U moet de Azure CLI installeren en verbindingmaken met uw abonnement om Azure-resources te gebruiken die zijn gekoppeld aan uw account.
  • Stel de juiste modus in voor het klassieke implementatiemodel door het volgende te typen bij de opdrachtprompt:
        azure config mode asm
    
  • U moet een nieuw wachtwoord of een set SSH-sleutels hebben als u een van beide opnieuw wilt instellen. U hebt deze niet nodig als u de SSH-configuratie opnieuw wilt instellen.

Het wachtwoord opnieuw instellen

  1. Maak een bestand op uw lokale computer met de naam PrivateConf.json met deze regels. Vervang myUserNameen myP@ssW0rd door uw eigen gebruikersnaam en wachtwoord en stel uw eigen vervaldatum in.

        {
        "username":"myUserName",
        "password":"myP@ssW0rd",
        "expiration":"2020-01-01"
        }
    
  2. Voer deze opdracht uit, door de naam van uw virtuele machine te vervangen door myVM.

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

De SSH-sleutel opnieuw instellen

  1. Maak een bestand met de naam PrivateConf.json met deze inhoud. Vervang de waarden myUserName en mySSHKey door uw eigen gegevens.

        {
        "username":"myUserName",
        "ssh_key":"mySSHKey"
        }
    
  2. Voer deze opdracht uit, door de naam van uw virtuele machine te vervangen door myVM.

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

Zowel het wachtwoord als de SSH-sleutel opnieuw instellen

  1. Maak een bestand met de naam PrivateConf.json met deze inhoud. Vervang myUserName, mySSHKeyen myP@ssW0rd waarden door uw eigen gegevens.

        {
        "username":"myUserName",
        "ssh_key":"mySSHKey",
        "password":"myP@ssW0rd"
        }
    
  2. Voer deze opdracht uit, door de naam van uw virtuele machine te vervangen door myVM.

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

Een nieuw sudo-gebruikersaccount maken

Als u uw gebruikersnaam bent vergeten, kunt u VMAccess gebruiken om een nieuwe te maken met de sudo-instantie. In dit geval worden de bestaande gebruikersnaam en het bestaande wachtwoord niet gewijzigd.

Als u een nieuwe sudo-gebruiker met wachtwoordtoegang wilt maken, gebruikt u het script in Het wachtwoord opnieuw instellen en geeft u de nieuwe gebruikersnaam op.

Als u een nieuwe sudo-gebruiker met SSH-sleuteltoegang wilt maken, gebruikt u het script in De SSH-sleutel opnieuw instellen en geeft u de nieuwe gebruikersnaam op.

U kunt ook Het wachtwoord en de SSH-sleutel opnieuw instellen gebruiken om een nieuwe gebruiker te maken met zowel wachtwoord- als SSH-sleuteltoegang.

De SSH-configuratie opnieuw instellen

Als de SSH-configuratie een ongewenste status heeft, hebt u mogelijk ook geen toegang meer tot de VM. U kunt de extensie VMAccess gebruiken om de configuratie opnieuw in te stellen op de standaardtoestand. Als u dit wilt doen, hoeft u alleen de sleutel 'reset_ssh' in te stellen op 'Waar'. De extensie start de SSH-server opnieuw op, opent de SSH-poort op uw VM en stelt de SSH-configuratie opnieuw in op de standaardwaarden. Het gebruikersaccount (naam, wachtwoord of SSH-sleutels) wordt niet gewijzigd.

Notitie

Het SSH-configuratiebestand dat opnieuw wordt ingesteld, bevindt zich op /etc/ssh/sshd_config.

  1. Maak een bestand met de naam PrivateConf.json met deze inhoud.

        {
        "reset_ssh":"True"
        }
    
  2. Voer deze opdracht uit, door de naam van uw virtuele machine te vervangen door myVM.

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

Een gebruiker verwijderen

Als u een gebruikersaccount wilt verwijderen zonder u rechtstreeks aan te melden bij de VM, kunt u dit script gebruiken.

  1. Maak een bestand met de naam PrivateConf.json met deze inhoud en vervang de gebruikersnaam die u wilt verwijderen door removeUserName.

        {
        "remove_user":"removeUserName"
        }
    
  2. Voer deze opdracht uit, door de naam van uw virtuele machine te vervangen door myVM.

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

De status van de VMAccess-extensie weergeven

Voer deze opdracht uit om de status van de VMAccess-extensie weer te geven.

        azure vm extension get

Consistentie van toegevoegde schijven controleren

Als u fsck wilt uitvoeren op alle schijven in uw virtuele Linux-machine, moet u het volgende doen:

  1. Maak een bestand met de naam PublicConf.json met deze inhoud. Controleer of Schijf een Booleaanse waarde gebruikt om te controleren of de schijven die zijn gekoppeld aan uw virtuele machine al dan niet moeten worden controleren.

        {   
        "check_disk": "true"
        }
    
  2. Voer deze opdracht uit om uit te voeren, door de naam van uw virtuele machine te vervangen door myVM.

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

Schijven herstellen

Als u schijven wilt herstellen die niet zijn bevestigd of configuratiefouten hebben, gebruikt u de extensie VMAccess om de configuratie van de bevestiging op uw virtuele Linux-machine opnieuw in te stellen. Vervang de naam van uw schijf door myDisk.

  1. Maak een bestand met de naam PublicConf.json met deze inhoud.

        {
        "repair_disk":"true",
        "disk_name":"myDisk"
        }
    
  2. Voer deze opdracht uit om uit te voeren, door de naam van uw virtuele machine te vervangen door myVM.

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

Volgende stappen

  • Als u Azure PowerShell-cmdlets of Azure Resource Manager-sjablonen wilt gebruiken om het wachtwoord of de SSH-sleutel opnieuw in te stellen, de SSH-configuratie te herstellen en de consistentie van de schijf te controleren, raadpleegt u de documentatie over de VMAccess-extensie op GitHub.
  • U kunt ook de Azure Portal het wachtwoord of de SSH-sleutel van een Linux-VM die is geïmplementeerd in het klassieke implementatiemodel opnieuw in te stellen. U kunt de portal momenteel niet gebruiken om dit te doen voor een Linux-VM die is geïmplementeerd in Resource Manager implementatiemodel.
  • Zie Over extensies en functies van virtuele machines voor meer informatie over het gebruik van VM-extensies voor virtuele Azure-machines.