Auf jedem Linux-System wird standardmäßig der Benutzer „root“ als erster Benutzer angelegt. Der Root-Benutzer besitzt die höchsten Rechte und hat vollen Zugriff auf alle Befehle und Dateien mit uneingeschränkten Lese-, Schreib- und Ausführungsberechtigungen. Es ist wichtig zu beachten, dass unsachgemäßer oder unangemessener Gebrauch dieses Benutzerkontos erhebliche Auswirkungen auf Ihren Server haben kann.
In diesem Tutorial erfahren Sie, wie Sie den Root-Login auf einem Ubuntu-System deaktivieren können, um unbefugten Root-Zugriff über SSH zu verhindern und die Sicherheit Ihres Linux-Systems zu verbessern.
Root-Login deaktivieren
sudo nano /etc/ssh/sshd_config
...
#LoginGraceTime 2m
PermitRootLogin yes
#StrictModes yes
#MaxAuthTries 6
#MaxSessions 10
...
Ändern Sie den Wert der Einstellung PermitRootLogin von yes auf no:
...
#LoginGraceTime 2m
PermitRootLogin no
#StrictModes yes
#MaxAuthTries 6
#MaxSessions 10
...
Speichern und schließen Sie die Datei.
Verwenden Sie den folgenden Befehl, um den SSH-Dienst neu zu starten und die Einstellungen zu übernehmen:
sudo systemctl restart sshd
Mit diesem Befehl wird der sshd-Dienst mit systemctl neu gestartet.
In diesem Schritt haben wir die Konfigurationsdatei geändert, um Root-Logins zu verweigern, den Dienst sshd neu gestartet, um die Konfiguration zu übernehmen. Als Nächstes testen Sie, ob der Root-Login deaktiviert ist oder nicht, indem Sie versuchen, sich als Root auf Ihrem Server anzumelden.
Root-Login testen
Nachdem Sie die Root-Anmeldung deaktiviert haben, versuchen Sie, sich in einer neuen Terminalsitzung mit SSH als Root anzumelden. Verwenden Sie die folgenden Befehle je nach Ihrem bevorzugten Anmeldemechanismus.
Wenn Sie die passwortbasierte Anmeldung verwenden:
ssh root@server_ip
The attempt to SSH as root will fail with an error message like this:
root@server_ip: Permission denied (publickey).