Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Gilt für: ✔️ Linux-VMs
Zusammenfassung
Dieser Artikel enthält Lösungen für ein Problem, bei dem eine Verbindung mit einem virtuellen Linux-Computer (VM) über Secure Shell (SSH) fehlschlägt, da das Verzeichnis /var/empty/sshd in RHEL, das Verzeichnis "/var/lib/empty " in SUSE oder das Verzeichnis "/var/run/sshd " in Ubuntu nicht vorhanden ist oder nicht dem Stammbenutzer gehört, oder es ist beschreibbar oder weltschreibbar.
Von Bedeutung
Neu! Probieren Sie VM-Unterstützung aus, um die wichtigsten Probleme zu beheben. Es wird empfohlen, VM-Hilfsprogramm für Windows oder VM-Hilfsprogramm für Linux auszuführen. Diese skriptbasierten Diagnosetools helfen Ihnen, häufige Probleme zu identifizieren, die sich auf den Azure VM-Gast-Agent und die allgemeine VM-Integrität auswirken.
Wenn Leistungsprobleme auf virtuellen Computern auftreten, führen Sie diese Tools zuerst aus, bevor Sie sich an Microsoft-Support wenden.
Symptome
Wenn Sie eine Verbindung mit einem virtuellen Linux-Computer (VM) über SSH herstellen, schlägt die Verbindung fehl. Je nach Linux-Verteilung erhalten Sie möglicherweise die folgende Fehlermeldung über das betroffene Verzeichnis.
sudo tail /var/log/messages
sshd: /var/empty/sshd must be owned by root and not group or world-writable.
Ursache
Dieses Problem kann auftreten, wenn das betroffene Verzeichnis nicht dem Root-Benutzer gehört oder wenn es gruppenbeschreibbar oder weltbeschreibbar ist.
Verwenden Sie eine der folgenden Lösungen, um dieses Problem zu beheben:
- Lösung 1: Reparieren Sie den virtuellen Computer online.
- Lösung 2: Reparieren Sie den virtuellen Computer offline.
Lösung 1: Reparieren der VM online
Im Folgenden sind zwei Methoden zum Offlinereparieren des virtuellen Computers aufgeführt:
Verwenden der seriellen Konsole
Stellen Sie eine Verbindung mit der seriellen Konsole des virtuellen Computers über Azure Portal her.
Melden Sie sich mit einem lokalen Administratorkonto und den entsprechenden Anmeldeinformationen oder kennwort bei der VM an.
Führen Sie die folgenden Befehle aus, um das Berechtigungs- und Eigentumsproblem zu beheben:
Verwenden Sie die Erweiterung "Befehl ausführen"
Hinweis
Diese Methode basiert auf dem Azure Linux VM Agent (waagent). Stellen Sie daher sicher, dass der Agent auf dem virtuellen Computer installiert ist und dass der Dienst ausgeführt wird.
Öffnen Sie im Azure-Portal das Fenster Properties des virtuellen Computers, um den Agentstatus zu überprüfen. Wenn der Agent aktiviert ist und über den Status "Bereit " verfügt, führen Sie die folgenden Schritte aus, um die Berechtigung zu ändern:
Wechseln Sie zum Azure Portal, suchen Sie Ihre VM-Einstellungen, und wählen Sie dann Run Command unter Operations aus.
Führen Sie das folgende Shellskript aus, indem Sie "RunShellScript" und anschließend "Ausführen" auswählen.
- Nach Abschluss der Skriptausführung zeigt das Ausgabekonsolenfenster eine Meldung "Erfolgreich aktivieren" an.
Wenn Sie über SSH eine Verbindung mit dem virtuellen Computer herstellen können und die Details der Ausführung des Run-Command-Skripts analysieren möchten, überprüfen Sie die handler.log Datei im Verzeichnis "/var/log/azure/run-command" .
Lösung 2: Reparieren des virtuellen Computers offline
Hinweis
- Verwenden Sie diese Auflösung, wenn der serielle Konsolenzugriff auf den virtuellen Computer nicht verfügbar ist und der Waagent nicht bereit ist.
- In Ubuntu wird das Verzeichnis "/var/run/sshd " im Arbeitsspeicher ausgeführt. Durch den Neustart des virtuellen Computers wird auch das Problem behoben. Daher ist die Offline-Problembehandlung in Ubuntu-VMs nicht erforderlich.
Im Folgenden sind zwei Methoden zum Offlinereparieren des virtuellen Computers aufgeführt:
Verwenden Sie az vm repair
Der az vm repair, Teil der VM-Repair-Erweiterung für die Azure CLI, wird in Reparatur einer Linux-VM mithilfe der Azure Virtual Machine-Reparaturbefehle beschrieben.
Führen Sie die folgenden Schritte aus, um den manuellen Offlineprozess zu automatisieren:
Hinweis
Ersetzen Sie in den folgenden Schritten die Werte $RGNAME, $VMNAME, $USERNAME, $PASSWORD und repairdiskcopy entsprechend.
Verwenden Sie den Befehl az vm repair create, um eine Reparatur-VM zu erstellen. Die Reparatur-VM verfügt über eine Kopie des Betriebssystemdatenträgers für den problematischen virtuellen Computer, der angefügt ist.
az vm repair create --verbose -g $RGNAME -n $VMNAME --repair-username $USERNAME --repair-password $PASSWORD --copy-disk-name repairdiskcopyMelden Sie sich bei der Reparatur-VM an. Bereitstellen und Chroot an das Dateisystem der angefügten Kopie des Betriebssystemdatenträgers. Folgen Sie den detaillierten Chroot-Anweisungen.
Führen Sie die folgenden Befehle aus, um die Berechtigungs- und Besitzprobleme zu beheben:
Nachdem die Änderungen angewendet wurden, führen Sie den folgenden
az vm repair restoreBefehl aus, um einen automatischen Austausch des Betriebssystemdatenträgers mit der ursprünglichen VM auszuführen.az vm repair restore --verbose -g $RGNAME -n $VMNAME
Verwenden der manuellen Methode
Wenn weder die serielle Konsole noch die az vm repair-Methode für Sie geeignet sind oder fehlschlagen, muss die Reparatur manuell ausgeführt werden. Führen Sie die folgenden Schritte aus, um den Betriebssystemdatenträger manuell an eine Wiederherstellungs-VM anzufügen und den Betriebssystemdatenträger wieder an die ursprüngliche VM zu tauschen:
- Hängen Sie den Betriebssystemdatenträger über das Azure-Portal an eine Wiederherstellungs-VM an.
- Verbinden Sie den Betriebssystemdatenträger mithilfe der Azure CLI mit einer Wiederherstellungs-VM.
Sobald die OS-Disk erfolgreich an die Wiederherstellungs-VM angeschlossen ist, folgen Sie den detaillierten Chroot-Anweisungen, um die Dateisysteme der angeschlossenen OS-Disk einzuhängen und den chroot-Befehl auszuführen. Befolgen Sie dann Schritt 3 im Abschnitt "Az vm Repair ", um die Berechtigungs- und Besitzprobleme zu beheben.