Im idealen Fall darf der root-Benutzer sich nicht direkt per SSH anmelden, denn mit dem root-Benutzer besteht kompletter Systemzugriff zur Verfügung. Hacker versuchen sich im idealen Fall auch mit diesem Benutzer anzumelden, logisch.
Um dies zu verhindern wird ein anderer Benutzer zur Verbindung mit SSH verwendet. Ist dieser angemeldet, kann zum root-Benutzer gewechselt werden. Hacker müssen dann neben dem Passwort auch erstmal den möglichen Loginnamen des Users kennen, der zur Anmeldung zur Verfügung steht.
Zunächst wird ein neuer User (hier heißt er unkreativ sshuser, alles ist möglich, macht es Angreifern schwer!) benötigt, der nur den Zweck hat, dass über diesen eine Verbindung per SSH ermöglicht wird:
useradd -g users -d /home/sshuser -s /bin/bash sshuser mkdir /home/sshuser chown sshuser:users /home/sshuser/ passwd sshuser
Noch mal: Je abwegiger der Benutzername ist, desto schwieriger ist es auch, dass dieser erraten wird. Verwendet nur besser nicht Eure Eigennamen oder Nickname wie Olaf, splitti, Olli usw. in meinem Fall.
Jetzt solltet Ihr testen, ob der neue Benutzer sich per SSH anmelden kann und ein Wechsel auf den Benutzer root möglich ist. Der Wechsel zum root-Benutzer funktioniert mit folgendem Befehl:
su -
Wenn der Wechsel zum root-Benutzer funktioniert, dann kann der direkte Login durch den root-Benutzer deaktiviert werden. Dafür ist die SSH-Konfigurationsdatei zu editieren:
vi /etc/ssh/sshd_config
In dieser Datei ist die Zeile
PermitRootLogin yes
nach
PermitRootLogin no
zu ändern.
Damit diese Änderung auch funktioniert, ist es notwendig die Konfiguration des SSH-Dienstes mit folgenden Befehl neu einzulesen:
service ssh reload