SSH-Root-Login deaktivieren
Bitte verwenden sie die "Drucken" Funktion am Seitenende, um ein PDF zu erstellen.
Für VPS+, VPS, Cloud Server, Dedicated Server und Bare Metal Server mit AlmaLinux 9, AlmaLinux 10, Rocky Linux 9, Rocky Linux 10, Ubuntu 24.04, Ubuntu 26.04, Debian 12 und Debian 13
In diesem Artikel erfahren Sie, wie Sie den Root-Login deaktivieren.
Standardmäßig wird auf jedem Linux-System das Root-Konto als erstes Konto angelegt. Das Root-Konto verfügt über die höchsten Rechte. Mit dem Root-Konto haben Sie Zugriff auf alle Befehle und Dateien und verfügen über volle Lese-, Schreib- und Ausführungsrechte. Wenn dieses Konto unsachgemäß oder unangemessen verwendet wird, kann dies erhebliche Auswirkungen auf Ihren Server haben.
Vorsicht
Stellen Sie vor der Deaktivierung des SSH-Root-Logins sicher, dass ein alternativer Benutzer mit sudo-Rechten existiert und Sie sich mit diesem erfolgreich per SSH verbinden können. Andernfalls verlieren Sie den administrativen Zugriff auf Ihren Server!
Voraussetzungen
Sie haben bereits einen zusätzlichen Benutzer mit sudo-Rechten erstellt und geprüft, ob dieser sich per SSH anmelden kann.
So deaktivieren Sie den SSH-Root-Login:
Loggen Sie sich als Benutzer mit sudo-Rechten auf Ihrem Server ein.
Erstellen Sie ein Backup der Konfiguration. Geben Sie hierzu den folgenden Befehl ein:
sudo cp -a /etc/ssh/sshd_config /etc/ssh/sshd_config.bak
Öffnen Sie die SSH-Konfigurationsdatei sshd_config mit dem Texteditor vi:
sudo vi /etc/ssh/sshd_config
Hinweis
Der Editor vi verfügt über einen Einfügemodus und einen Befehls- oder Kommandomodus. Den Einfügemodus können Sie mit der Taste [i] aufrufen. In diesem Modus werden die eingegebenen Zeichen sofort in den Text eingefügt. Um den Befehlsmodus aufzurufen, drücken Sie anschließend [ESC]. Wenn Sie den Befehlsmodus nutzen, werden Ihre Tastatureingaben als Befehl interpretiert.Suchen Sie nach der Zeile: PermitRootLogin yes (oder PermitRootLogin yes)
PermitRootLogin no
Ändern Sie den Eintrag zu PermitRootLogin no und stellen Sie sicher, dass am Anfang der Zeile kein Kommentarzeichen (#) steht.
Stellen Sie sicher, dass diese Direktive nicht mehrfach vorkommt. Entfernen Sie ggf. doppelte Einträge.
Um vi zu beenden und die Datei zu speichern, geben Sie im Befehlsmodus den folgenden Befehl ein und drücken Sie anschließend die Eingabetaste:
:wq
Auf vielen Systemen können Drop-in-Dateien in /etc/ssh/sshd_config.d/.conf Werte überschreiben. Um diese zu prüfen, geben Sie den folgenden Befehl ein:
grep -nH "PermitRootLogin" /etc/ssh/sshd_config /etc/ssh/sshd_config.d/.conf 2>/dev/null
Bevor Sie den Dienst neu starten, überprüfen Sie die Konfigurationsdatei auf Syntaxfehler. Geben Sie hierzu den folgenden Befehl ein:
sshd -t
Wenn keine Information ausgegeben wird, bedeutet dies, dass kein Syntaxfehler vorliegt.
Damit die Änderung wirksam wird, starten Sie den SSH-Dienst neu. Wählen Sie dazu den passenden Befehl für Ihr Betriebssystem:
Ubuntu 24.04, Ubuntu 26.04, und Debian 12 und Debian 13
systemctl restart ssh
Rocky Linux 9, und 10 sowie AlmaLinux 9 und 10
systemctl restart sshd
Um zu prüfen, ob die Änderungen wirksam sind, geben Sie den folgenden Befehl ein:
sshd -T | grep -i permitrootlogin
Hilfe im Problemfall
Um die gesicherte Konfiguration wiederherzustellen, geben Sie die folgenden Befehle ein:
Ubuntu 24.04, Ubuntu 26.04, Debian 12 und Debian 13
sudo cp -a /etc/ssh/sshd_config.bak /etc/ssh/sshd_config
sudo sshd -t && systemctl reload ssh
Rocky Linux 9 und 10 sowie AlmaLinux 9 und 10
sudo cp -a /etc/ssh/sshd_config.bak /etc/ssh/sshd_config
sudo sshd -t && systemctl reload sshd