Återställa lokala Linux-lösenord för virtuella Azure-datorer
Gäller för: ✔️ Virtuella Linux-datorer
Den här artikeln innehåller tre metoder för att återställa lokala lösenord för virtuella Linux-datorer . Om användarkontot har upphört att gälla eller om du vill skapa ett nytt konto kan du använda följande metoder för att skapa ett nytt lokalt administratörskonto och återfå åtkomsten till den virtuella datorn.
Återställ lösenordet med hjälp av Azure Linux-agenten
Du kan återställa lösenordet utan att ansluta OS-disken till en annan virtuell dator. Den här metoden kräver att Azure Linux-agenten installeras på den berörda virtuella datorn.
Kontrollera att tjänsten Azure Linux Agent (waagent) körs på den berörda virtuella datorn och är i ett redo tillstånd i Azure-portalen.
Konfigurera miljövariablerna och använd Azure CLI eller Azure Cloud Shell för att återställa lösenordet:
AZ_RESOURCE_GROUP="YourResourceGroupName" AZ_VM_NAME="VMname" AZ_ADMIN_USER="adminName" AZ_MSADMIN_PASS="newPassword" az vm user update -u $AZ_ADMIN_USER -p $AZ_MSADMIN_PASS -g $AZ_RESOURCE_GROUP -n $AZ_VM_NAME
Försök att komma åt den virtuella datorn.
Information om hur du uppdaterar SSH-nyckeln finns i Hantera administrativa användare, SSH med hjälp av VMAccess-tillägget med Azure CLI.
Du kan också återställa lösenordet eller SSH-nyckeln med hjälp av funktionen Återställ lösenord i Azure-portalen.
Mer information finns i vmaccess-tillägget för Linux.
Återställa lösenordet med hjälp av seriekonsolen med enanvändarläge
Du kan använda seriekonsolen admin user
för att återställa kontot eller root
via enanvändarläge för åtkomst till virtuella datorer.
Följ processen för enanvändarläge för att återställa eller lägga till ett lösenord.
Kontrollera att lösenordsautentisering är aktiverat på OpenSSH-servern om du försöker logga in på servern med hjälp av SSH- och lösenordsautentiseringen.
Kontrollera om värdet
PasswordAuthentitcation
är inställt på ellerno
i/etc/ssh/sshd_config
genom attyes
köra följande kommando:egrep "^PasswordAuthentication" /etc/ssh/sshd_config
Om värdet
PasswordAuthentication
är inställt påno
använder du en textredigerare somvi
ellernano
för att ändra värdet tillyes
.
Skapa ett nytt lösenord för
admin user
kontot ellerroot
genom attpasswd
köra kommandot:passwd <admin_user>
Kontrollera om
SElinux
är ienforcing
läge i/etc/sysconfig/selinux
genom att köra följande kommando:cat /etc/sysconfig/selinux
Om
SElinux
är ienforcing
läge kontrollerar du attSElinux
tillåter filändringar som görs medpasswd
kommandot . När lösenordet har ändrats kan du köra följande kommando för att ange filsystemet på nytt för att underlätta inläsningen av ändringen.touch /.autorelabel
Starta om den virtuella datorn genom att köra följande kommando:
/usr/sbin/reboot -f
Försök att komma åt den virtuella datorn.
Återställa lösenordet med hjälp av en virtuell reparationsdator
Den här metoden har testats med hjälp av Linux-distributioner och versioner som stöds.
Kommentar
Om du har problem som påverkar en virtuell Azure-nätverksinstallation gäller inte den här metoden för din situation. I stället måste du kontakta leverantören av den virtuella nätverksinstallationen för att få instruktioner om hur du återställer lösenord på ett säkert sätt.
Du kan köra reparationskommandona för virtuella datorer för att skapa en reparations-VM som har en kopia av den berörda virtuella datorns OS-disk ansluten. Montera sedan kopian av OS-filsystemen på den virtuella reparationsdatorn via chroot-miljön.
Kommentar
Du kan också skapa en virtuell räddningsdator manuellt med hjälp av Azure-portalen. Mer information finns i Felsöka en virtuell Linux-dator genom att ansluta OS-disken till en virtuell återställningsdator med hjälp av Azure-portalen.
Kör följande az vm repair create-kommandon för att skapa en kopia av OS-disken. Sedan kopplas disken automatiskt till en virtuell återställningsdator.
AZ_RESOURCE_GROUP="YourResourceGroupName" AZ_VM_NAME="VMname" AZ_ADMIN_USER="userName" AZ_MSADMIN_PASS="newPassword" az vm repair create -g $AZ_RESOURCE_GROUP -n $AZ_VM_NAME --repair-username $AZ_ADMIN_USER --repair-password "$AZ_MSADMIN_PASS" --verbose
Logga in på den virtuella reparationsdatorn och felsök chroot-miljön.
Kontrollera att lösenordsautentisering är aktiverat på OpenSSH-servern om du försöker logga in på servern med hjälp av SSH- och lösenordsautentiseringen.
Kontrollera om värdet
PasswordAuthentitcation
är inställt på ellerno
i/etc/ssh/sshd_config
genom attyes
köra följande kommando:egrep "^PasswordAuthentication" /etc/ssh/sshd_config
Om värdet
PasswordAuthentication
är inställt påno
använder du en textredigerare somvi
ellernano
för att ändra värdet tillyes
.
Skapa ett nytt lösenord för
admin user
kontot ellerroot
genom attpasswd
köra kommandot:passwd <admin_user>
Kontrollera om
SElinux
är ienforcing
läge i/etc/sysconfig/selinux
genom att köra följande kommando:cat /etc/sysconfig/selinux
Om
SElinux
är ienforcing
läge kontrollerar du attSElinux
tillåter filändringar som görs medpasswd
kommandot . När lösenordet har ändrats kan du köra följande kommando för att ange filsystemet på nytt för att underlätta inläsningen av ändringen.touch /.autorelabel
Montera om OS-disken till den berörda virtuella datorn genom att växla OS-disken med följande kommando:
az vm repair restore -g $AZ_RESOURCE_GROUP -n $AZ_VM_NAME --verbose
Försök att komma åt den virtuella datorn.
Nästa steg
Felsöka virtuella Azure-datorer genom att koppla OS-disken till en annan virtuell Azure-dator
Azure CLI: Så här tar du bort och distribuerar om en virtuell dator från en virtuell hårddisk
Kontakta oss om du behöver hjälp
Om du har frågor eller behöver hjälp skapar du en supportbegäran eller frågar Azure Community-support. Du kan också skicka produktfeedback till Azure-feedbackcommunityn.