Återställa ett lösenord eller en SSH-nyckel för en virtuell Linux-dator, åtgärda SSH-konfigurationen och kontrollera 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 övergången snabbare 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 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 kan du använda tillägget VMAccessForLinux med Azure CLI för att återställa lösenordet eller SSH-nyckeln, åtgärda SSH-konfigurationen och kontrollera diskkonsekvensen.

Anteckning

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 dessa steg med hjälp av Resource Manager-modellen.

Med Azure CLI använder du kommandot azure vm extension set från kommandoradsgränssnittet (Bash, Terminal, Kommandotolken) för att komma åt kommandon. Kör azure help vm extension set för detaljerad tilläggsanvändning.

Med Azure CLI kan du utföra följande uppgifter:

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ågon av dem. Du behöver inte dessa om du vill återställa SSH-konfigurationen.

Återställa lösenordet

  1. Skapa en fil på den lokala datorn med namnet PrivateConf.json med dessa rader. Ersätt myUserNameoch 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"
        }
    
  2. 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

  1. Skapa en fil med namnet PrivateConf.json med det här innehållet. Ersätt värdena myUserName och mySSHKey med din egen information.

        {
        "username":"myUserName",
        "ssh_key":"mySSHKey"
        }
    
  2. 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

  1. Skapa en fil med namnet PrivateConf.json med det här innehållet. Ersätt värdena myUserName, mySSHKeyoch myP@ssW0rd med din egen information.

        {
        "username":"myUserName",
        "ssh_key":"mySSHKey",
        "password":"myP@ssW0rd"
        }
    
  2. 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 med sudo-utfärdare. 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ösenord och SSH-nyckelåtkomst.

Återställa SSH-konfigurationen

Om SSH-konfigurationen är i ett oönskade tillstånd kan du också förlora åtkomsten till den virtuella datorn. Du kan använda TILLÄGGET VMAccess 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.

Anteckning

SSH-konfigurationsfilen som återställs finns på /etc/ssh/sshd_config.

  1. Skapa en fil med namnet PrivateConf.json med det här innehållet.

        {
        "reset_ssh":"True"
        }
    
  2. 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.

  1. Skapa en fil med namnet PrivateConf.json med det här innehållet och ersätt användarnamnet med removeUserName.

        {
        "remove_user":"removeUserName"
        }
    
  2. 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 konsekvens för tillagda diskar

Om du vill köra fsck på alla diskar på din virtuella Linux-dator måste du göra följande:

  1. Skapa en fil med namnet PublicConf.json med det här innehållet. Markera Disk tar ett booleskt för att se om diskarna som är anslutna till den virtuella datorn ska kontrolleras eller inte.

        {   
        "check_disk": "true"
        }
    
  2. 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 monterar eller som har monteringskonfigurationsfel använder du tillägget VMAccess för att återställa monteringskonfigurationen på den virtuella Linux-datorn. Ersätt namnet på disken med myDisk.

  1. Skapa en fil med namnet PublicConf.json med det här innehållet.

        {
        "repair_disk":"true",
        "disk_name":"myDisk"
        }
    
  2. 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-cmdlets eller Azure Resource Manager-mallar för att återställa lösenordet eller SSH-nyckeln, åtgärda SSH-konfigurationen och kontrollera diskkonsekvensen kan du läsa dokumentationen om VMAccess-tillägg på GitHub.
  • Du kan också använda Azure Portal 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 distribuerats Resource Manager distributionsmodellen.
  • Mer information om hur du använder VM-tillägg för virtuella Azure-datorer finns i Om tillägg och funktioner för virtuella datorer.