Så här återställer du ett lösenord för en virtuell Linux-dator eller en SSH-nyckel, åtgärdar SSH-konfigurationen och kontrollerar diskkonsekvensen med hjälp av VMAccess-tillägget
Viktigt!
Klassiska virtuella datorer dras tillbaka den 1 mars 2023.
Om du använder IaaS-resurser från ASM slutför du migreringen senast den 1 mars 2023. Vi rekommenderar att du gör bytet tidigare för att dra nytta av de många funktionsförbättringarna i Azure Resource Manager.
Mer information finns i Migrera dina IaaS-resurser till Azure Resource Manager senast den 1 mars 2023.
Om du inte kan ansluta till en virtuell Linux-dator på Azure på grund av ett bortglömt lösenord, en felaktig SSH-nyckel (Secure Shell) eller ett problem med SSH-konfigurationen använder du TILLÄGGET VMAccessForLinux med Azure CLI för att återställa lösenordet eller SSH-nyckeln, åtgärda SSH-konfigurationen och kontrollera diskkonsekvensen.
Anmärkning
Azure har två olika distributionsmodeller för att skapa och arbeta med resurser: Resource Manager och klassisk. Den här artikeln beskriver hur du använder den klassiska distributionsmodellen. Microsoft rekommenderar att de flesta nya distributioner använder Resource Manager-modellen. Lär dig hur du utför de här stegen med hjälp av Resource Manager-modellen.
Med Azure CLI använder du kommandot azure vm extension set från ditt kommandoradsgränssnitt (Bash, Terminal, Kommandotolken) för att komma åt kommandon. Använd azure help vm extension set för detaljerad användning av tillägg.
Med Azure CLI kan du utföra följande uppgifter:
- Återställ lösenordet
- Återställ SSH-nyckeln
- Återställ lösenordet och SSH-nyckeln
- Skapa ett nytt sudo-användarkonto
- Återställ SSH-konfigurationen
- Ta bort en användare
- Visa status för VMAccess-tillägget
- Kontrollera konsistensen hos tillagda diskar
- Reparera tillagda diskar på din virtuella Linux-dator
Förutsättningar
Du måste göra följande:
- Du måste installera Azure CLI- och ansluta till din prenumeration för att använda Azure-resurser som är associerade med ditt konto.
- Ange rätt läge för den klassiska distributionsmodellen genom att skriva följande i kommandotolken:
azure config mode asm
- Ha ett nytt lösenord eller en uppsättning SSH-nycklar om du vill återställa något av dem. Du behöver inte dessa om du vill återställa SSH-konfigurationen.
Återställa lösenordet
Skapa en fil på den lokala datorn med namnet PrivateConf.json med dessa rader. Ersätt myUserName och myP@ssW0rd med ditt eget användarnamn och lösenord och ange ett eget datum för förfallodatum.
{ "username":"myUserName", "password":"myP@ssW0rd", "expiration":"2020-01-01" }
Kör det här kommandot och ersätt namnet på den virtuella datorn med myVM-.
azure vm extension set myVM VMAccessForLinux Microsoft.OSTCExtensions 1.* –-private-config-path PrivateConf.json
Återställa SSH-nyckeln
Skapa en fil med namnet PrivateConf.json med det här innehållet. Ersätt myUserName- och mySSHKey- värden med din egen information.
{ "username":"myUserName", "ssh_key":"mySSHKey" }
Kör det här kommandot och ersätt namnet på den virtuella datorn med myVM-.
azure vm extension set myVM VMAccessForLinux Microsoft.OSTCExtensions 1.* --private-config-path PrivateConf.json
Återställa både lösenordet och SSH-nyckeln
Skapa en fil med namnet PrivateConf.json med det här innehållet. Ersätt värdena myUserName, mySSHKey och myP@ssW0rd med din egen information.
{ "username":"myUserName", "ssh_key":"mySSHKey", "password":"myP@ssW0rd" }
Kör det här kommandot och ersätt namnet på den virtuella datorn med myVM-.
azure vm extension set MyVM VMAccessForLinux Microsoft.OSTCExtensions 1.* --private-config-path PrivateConf.json
Skapa ett nytt sudo-användarkonto
Om du glömmer ditt användarnamn kan du använda VMAccess för att skapa ett nytt användarnamn med sudo-behörighet. I det här fallet ändras inte det befintliga användarnamnet och lösenordet.
Om du vill skapa en ny sudo-användare med lösenordsåtkomst använder du skriptet i Återställ lösenordet och anger det nya användarnamnet.
Om du vill skapa en ny sudo-användare med SSH-nyckelåtkomst använder du skriptet i Återställ SSH-nyckeln och anger det nya användarnamnet.
Du kan också använda Återställ lösenordet och SSH-nyckeln för att skapa en ny användare med både lösenords- och SSH-nyckelåtkomst.
Återställa SSH-konfigurationen
Om SSH-konfigurationen är i ett oönstrade tillstånd kan du också förlora åtkomsten till den virtuella datorn. Du kan använda VMAccess-tillägget för att återställa konfigurationen till dess standardtillstånd. För att göra det behöver du bara ange nyckeln "reset_ssh" till "True". Tillägget startar om SSH-servern, öppnar SSH-porten på den virtuella datorn och återställer SSH-konfigurationen till standardvärden. Användarkontot (namn, lösenord eller SSH-nycklar) ändras inte.
Anmärkning
SSH-konfigurationsfilen som återställs finns på /etc/ssh/sshd_config.
Skapa en fil med namnet PrivateConf.json med det här innehållet.
{ "reset_ssh":"True" }
Kör det här kommandot och ersätt namnet på den virtuella datorn med myVM-.
azure vm extension set myVM VMAccessForLinux Microsoft.OSTCExtensions 1.* --private-config-path PrivateConf.json
Ta bort en användare
Om du vill ta bort ett användarkonto utan att logga in direkt på den virtuella datorn kan du använda det här skriptet.
Skapa en fil med namnet PrivateConf.json med det här innehållet och ersätt det användarnamn som ska tas bort med removeUserName.
{ "remove_user":"removeUserName" }
Kör det här kommandot och ersätt namnet på den virtuella datorn med myVM-.
azure vm extension set myVM VMAccessForLinux Microsoft.OSTCExtensions 1.* --private-config-path PrivateConf.json
Visa status för VMAccess-tillägget
Om du vill visa status för VMAccess-tillägget kör du det här kommandot.
azure vm extension get
Kontrollera konsekvensen för tillagda diskar
Om du vill köra fsck på alla diskar på den virtuella Linux-datorn måste du göra följande:
Skapa en fil med namnet PublicConf.json med det här innehållet. Funktionen "Check Disk" tar ett booleskt värde som anger om diskar som är anslutna till din virtuella dator ska kontrolleras eller inte.
{ "check_disk": "true" }
Kör det här kommandot för att köra och ersätt namnet på den virtuella datorn med myVM-.
azure vm extension set myVM VMAccessForLinux Microsoft.OSTCExtensions 1.* --public-config-path PublicConf.json
Reparera diskar
Om du vill reparera diskar som inte monteras eller har monteringskonfigurationsfel använder du VMAccess-tillägget för att återställa monteringskonfigurationen på den virtuella Linux-datorn. Att ersätta disknamnet med myDisk.
Skapa en fil med namnet PublicConf.json med det här innehållet.
{ "repair_disk":"true", "disk_name":"myDisk" }
Kör det här kommandot för att köra och ersätt namnet på den virtuella datorn med myVM-.
azure vm extension set myVM VMAccessForLinux Microsoft.OSTCExtensions 1.* --public-config-path PublicConf.json
Nästa steg
- Om du vill använda Azure PowerShell-cmdletar eller Azure Resource Manager-mallar för att återställa lösenordet eller SSH-nyckeln kan du åtgärda SSH-konfigurationen och kontrollera diskkonsekvensen i dokumentationen om VMAccess-tillägg på GitHub.
- Du kan också använda Azure-portalen för att återställa lösenordet eller SSH-nyckeln för en virtuell Linux-dator som distribuerats i den klassiska distributionsmodellen. Du kan för närvarande inte använda portalen för att göra detta för en virtuell Linux-dator som distribueras i Resource Manager-distributionsmodellen.
- Se Om tillägg och funktioner för virtuella datorer för mer information om hur du använder VM-tillägg för virtuella Azure-datorer.