Een linux-VM-wachtwoord of SSH-sleutel opnieuw instellen, de SSH-configuratie herstellen en schijfconsistentie controleren met behulp van de VMAccess-extensie
Belangrijk
Klassieke VM's worden op 1 maart 2023 buiten gebruik gesteld.
Als u IaaS-resources van ASM gebruikt, voltooit u de migratie met 1 maart 2023. U wordt aangeraden al eerder over te schakelen om te kunnen profiteren van de vele functieverbeteringen in Azure Resource Manager.
Zie Uw IaaS-resources naar Azure Resource Manager migreren op 1 maart 2023voor 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 klassieke. In dit artikel wordt beschreven hoe u het klassieke implementatiemodel gebruikt. Microsoft raadt aan dat de meeste nieuwe implementaties gebruikmaken van het Resource Manager-model. Leer hoe u deze stappen uitvoeren met behulp van het Resource Manager-model.
Met de Azure CLI gebruikt u de azure VM-extensiesetopdracht vanuit uw opdrachtregelinterface (Bash, Terminal, Opdrachtprompt) om toegang te krijgen tot opdrachten. Voer de azure Help VM-extensieset uit voor gedetailleerd extensiegebruik.
Met de Azure CLI kunt u de volgende taken uitvoeren:
- Het wachtwoord opnieuw instellen
- De SSH-sleutel opnieuw instellen
- Het wachtwoord en de SSH-sleutel opnieuw instellen
- Een nieuw sudo-gebruikersaccount maken
- De SSH-configuratie opnieuw instellen
- Een gebruiker verwijderen
- De status van de VMAccess-extensie weergeven
- Consistentie van toegevoegde schijven controleren
- Toegevoegde schijven herstellen op uw Linux-VM
Vereiste voorwaarden
U moet het volgende doen:
- U moet de Azure CLI installeren en verbinding maken 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
- Als u een van de twee opnieuw wilt instellen, zorg dan voor een nieuw wachtwoord of een set SSH-sleutels. U hebt deze niet nodig als u de SSH-configuratie opnieuw wilt instellen.
Het wachtwoord opnieuw instellen
Maak een bestand op uw lokale computer met de naam PrivateConf.json met deze regels. Vervang myUserName en myP@ssW0rd door uw eigen gebruikersnaam en wachtwoord en stel uw eigen datum in voor vervaldatum.
{ "username":"myUserName", "password":"myP@ssW0rd", "expiration":"2020-01-01" }
Voer deze opdracht uit, waarbij u de naam van uw virtuele machine vervangt door myVM.
azure vm extension set myVM VMAccessForLinux Microsoft.OSTCExtensions 1.* –-private-config-path PrivateConf.json
De SSH-sleutel opnieuw instellen
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" }
Voer deze opdracht uit, waarbij u de naam van uw virtuele machine vervangt door myVM.
azure vm extension set myVM VMAccessForLinux Microsoft.OSTCExtensions 1.* --private-config-path PrivateConf.json
Het wachtwoord en de SSH-sleutel opnieuw instellen
Maak een bestand met de naam PrivateConf.json met deze inhoud. Vervang de waarden myUserName, mySSHKey en myP@ssW0rd door uw eigen gegevens.
{ "username":"myUserName", "ssh_key":"mySSHKey", "password":"myP@ssW0rd" }
Voer deze opdracht uit, waarbij u de naam van uw virtuele machine vervangt 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 vergeet, kunt u VMAccess gebruiken om een nieuwe aan te maken met sudo-rechten. 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 opnieuw instellen en de SSH-sleutel 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 VIRTUELE machine. U kunt de VMAccess-extensie gebruiken om de configuratie opnieuw in te stellen op de standaardstatus. Hiervoor 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 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.
Maak een bestand met de naam PrivateConf.json met deze inhoud.
{ "reset_ssh":"True" }
Voer deze opdracht uit, waarbij u de naam van uw virtuele machine vervangt 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 virtuele machine, kunt u dit script gebruiken.
Maak een bestand met de naam PrivateConf.json met deze inhoud, waarbij u de gebruikersnaam vervangt die u wilt verwijderen voor removeUserName.
{ "remove_user":"removeUserName" }
Voer deze opdracht uit, waarbij u de naam van uw virtuele machine vervangt 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:
Maak een bestand met de naam PublicConf.json met deze inhoud. Check Disk neemt een booleaanse waarde waarmee wordt bepaald of de schijven die aan uw virtuele machine zijn gekoppeld gecontroleerd moeten worden of niet.
{ "check_disk": "true" }
Voer deze opdracht uit om uit te voeren, waarbij u de naam van uw virtuele machine vervangt 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 worden ingemonteerd of configuratiefouten hebben, gebruikt u de VMAccess-extensie om de mountconfiguratie op uw virtuele Linux-machine opnieuw in te stellen. Vervang de naam van uw schijf voor myDisk.
Maak een bestand met de naam PublicConf.json met deze inhoud.
{ "repair_disk":"true", "disk_name":"myDisk" }
Voer deze opdracht uit om uit te voeren, waarbij u de naam van uw virtuele machine vervangt 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, herstelt u de SSH-configuratie en controleert u de schijfconsistentie. Raadpleeg de documentatie over de VMAccess-extensie op GitHub.
- U kunt azure Portal ook gebruiken om het wachtwoord of de SSH-sleutel van een Linux-VM die in het klassieke implementatiemodel is geïmplementeerd, opnieuw in te stellen. U kunt de portal momenteel niet gebruiken om dit te doen voor een Virtuele Linux-machine die is geïmplementeerd in het Resource Manager-implementatiemodel.
- Zie Over extensies en functies van virtuele machines voor meer informatie over het gebruik van VM-extensies voor virtuele Azure-machines.