Wie Sie vielleicht bereits wissen, SSH (Sichere Shell ) ist ein Netzwerkprotokoll für den sicheren Fernzugriff auf einen Computer. Die Server- und Client-Software in Linux wird dabei als SSH-Server bezeichnet und SSH-Client und haben viele Implementierungen.
Standardmäßig SSH ermöglicht Ihnen, sich bei jedem Benutzer des Computers anzumelden, solange Sie das Kennwort für den Benutzer haben. Dies ist jedoch mit dem gleichen Problem verbunden, mit dem jede Software mit passwortbasierter Authentifizierung konfrontiert ist:eine Einladung für einen Angreifer, sich auszunutzen und Administratorzugriff zu erlangen.
Heute werden wir sehen, wie man die SSH-Anmeldung für einen bestimmten Benutzer und vor allem für den Root-Benutzer deaktiviert.
SSH-Zugriff für Benutzer deaktivieren
Sie können sich mit SSH bei einem System anmelden mit jedem Benutzer unter Verwendung der folgenden Syntax:
$ ssh tempuser@localhost
Im Moment ist der SSH-Zugriff auf meinem Computer für alle Benutzer erlaubt. Lassen Sie uns nun einem bestimmten Benutzer namens „tempuser“ den Zugriff verweigern ‘.
Öffnen Sie die Datei „/etc/ssh/sshd_config ’ in einem beliebigen Texteditor.
$ sudo vim /etc/ssh/sshd_config
Fügen Sie am Ende der Datei die folgende Zeile hinzu:
DenyUsers tempuser
Wichtig :Es gibt einen „Tab “ zwischen „DenyUsers ‘ und ‚tempuser ‘ und kein Leerzeichen. Es wird die Anweisung nicht erkennen, wenn Sie ein Leerzeichen hinzufügen.
Speichern und beenden Sie die Datei.
Starten Sie den SSH-Server mit dem folgenden Befehl neu:
$ sudo systemctl restart ssh
Wenn Sie ein System verwenden, das nicht über SystemD verfügt , ausführen:
$ sudo service ssh restart
Versuchen Sie nun, sich mit dem Benutzer „tempuser“ bei localhost anzumelden ’ mit SSH. Es sollte der Fehler „Permission denied“ angezeigt werden “, wie unten angezeigt:
$ ssh tempuser@localhost
SSH-Root-Zugriff deaktivieren
Die gleiche oben beschriebene Methode kann verwendet werden, um die Anmeldung bei einem Root-Benutzer zu deaktivieren. Um jedoch den vollständigen Root-Zugriff zu deaktivieren, d. h. den Zugriff für alle Root-Benutzer zu deaktivieren, führen Sie die folgenden Schritte aus.
Öffnen Sie die Datei „/etc/ssh/sshd_config “ in einem beliebigen Texteditor und suchen Sie nach der Zeichenfolge „PermitRootLogin ’. Entkommentieren Sie die Zeile, und wenn sie einen anderen Wert hat, setzen Sie den Wert auf „no“. ’.
PermitRootLogin no
Speichern und beenden Sie die Datei. Starten Sie SSH neu mit:
$ sudo systemctl restart ssh
Oder wenn Sie SystemD nicht haben :
$ sudo service ssh restart
Versuchen Sie nun, sich mit dem Benutzer „root“ bei localhost anzumelden ’. Außerdem wird der Fehler „Permission Denied“ angezeigt ’.
$ ssh root@localhost
Schlussfolgerung
In diesem Artikel haben wir gelernt, wie man den SSH-Anmeldezugriff für einen bestimmten Benutzer deaktiviert. Das Einschränken des Zugriffs auf einen Nicht-Root-Benutzer hängt von individuellen Szenarien ab, der Zugriff auf Root muss jedoch immer eingeschränkt werden.
Wenn Remote-Root-Zugriff erforderlich ist, sollten Sie SSH mit RSA-Authentifizierung einrichten, die sicherer ist als die Kennwortauthentifizierung. Lesen Sie die Manpage von SSH (‘man ssh ’) für weitere Details.
Danke fürs Lesen und teilen Sie uns Ihre Gedanken im Kommentarbereich unten mit!