Standardmäßig können sich alle Benutzer mit einem gültigen Passwort/öffentlichen Schlüssel per SSH in ein System einloggen. Für bestimmte dedizierte Server mit bestimmten Rollen, wie z. B. FTP-Server, E-Mail-Server usw.; Es wird normalerweise empfohlen, Nicht-Root-Benutzern die Anmeldung über SSH zu untersagen. Der Beitrag beschreibt die Schritte zum Deaktivieren des SSH-Anmeldezugriffs von Nicht-Root-Benutzern auf Systeme. Hier werden 3 verschiedene Möglichkeiten diskutiert. Der Zweck kann mit einer der drei folgenden Möglichkeiten erreicht werden.
Methode 1 – Verwenden der Datei /etc/ssh/sshd_config
Diese Methode kann verwendet werden, um einigen Benutzern die SSH-Anmeldung zu ermöglichen. Bearbeiten Sie die Datei /etc/ssh/sshd_config (OpenSSH SSH-Daemon-Konfigurationsdatei) und fügen Sie das Schlüsselwort AllowUsers hinzu mit dem Argument root .
# vi /etc/ssh/sshd_config AllowUsers rootHinweis :Bei Schlüsselwörtern wird zwischen Groß- und Kleinschreibung unterschieden, und bei Argumenten wird ebenfalls zwischen Groß- und Kleinschreibung unterschieden.
Starten Sie nun den sshd-Dienst neu:
# service sshd restart Stopping sshd: [ OK ] Starting sshd: [ OK ]
Stellen Sie sicher, dass sich Nicht-Root-Benutzer nicht über SSH anmelden können, der Root-Benutzer jedoch schon.
# ssh test@host1 test@host1's password: Permission denied, please try again. test@host1's password: Permission denied, please try again. test@host1's password: Permission denied (publickey,gssapi-with-mic,password).# ssh root@host1 root@host1's password: Last login: Wed Sep 13 10:47:14 2017 from 10.10.10.10 [root@host1 ~]#Methode 2 - Verwenden der /etc/nologin-Datei
Dies ist der schnellste Weg, alle Nicht-Root-Benutzer von der SSH-Anmeldung zu sperren.
1. Erstellen Sie eine Datei /etc/nologin auf dem entfernten Host.
# touch /etc/nologin # ls -lrt /etc/nologin -rw-r--r-- 1 root root 0 Sep 13 13:23 /etc/nologinHinweis :Wenn diese Datei existiert, darf sich nur der Root-Benutzer über SSH am System anmelden. Wenn die Datei /etc/nologin.txt existiert, zeigt nologin dem Benutzer seinen Inhalt anstelle der Standardmeldung an.Stellen Sie sicher, dass sich die folgende Zeile in der Datei /etc/pam.d/sshd befindet :
account required pam_nologin.soNote: backup the file /etc/pam.d/sshd before modifying it.Starten Sie dann den sshd-Dienst neu:
# service sshd restart Stopping sshd: [ OK ] Starting sshd: [ OK ]Überprüfen Sie die SSH-Anmeldung von Nicht-Root-Benutzern:
# ssh test@host1 test@host1's password: Connection closed by 192.168.10.10Methode 3 - Verwenden der Datei /etc/sshd/sshd.allow
Die Datei /etc/sshd/sshd.allow wird verwendet, um eine Liste von Benutzern anzugeben, denen wir SSH-Zugriff gewähren möchten. Wenn wir in dieser Datei nur den Benutzer root erwähnen, wird allen anderen Benutzern der SSH-Zugriff auf den Host verweigert.
1. Fügen Sie der Datei /etc/sshd/sshd.allow den Root-Benutzer hinzu (Wenn Verzeichnis/Datei nicht existiert, erstellen Sie es manuell).
# cat /etc/sshd/sshd.allow root2. Ersetzen Sie die Authentifizierungszeile wie unten in der Datei /etc/pam.d/sshd :
auth required pam_listfile.so item=user sense=allow file=/etc/sshd/sshd.allow onerr=failHier ist
auth erforderlich pam_listfile.so :Name des Moduls, das beim Authentifizieren von Benutzern erforderlich ist.
item=user :Überprüfen Sie den Benutzernamen des Elements.
sense=allow :Benutzer zulassen.
file=/etc/sshd/sshd.allow :Benutzerlistendatei.
onerr=fail :Wenn der Benutzername nicht in der Datei enthalten ist, kann er sich nicht anmelden.3. Starten Sie den sshd-Dienst neu, sobald Sie mit allen oben genannten Änderungen fertig sind.
# service sshd restart Stopping sshd: [ OK ] Starting sshd: [ OK ]4. Überprüfen Sie die SSH-Anmeldung von Nicht-Root-Benutzern:
# ssh test@host1 test@host1's password: Permission denied, please try again. test@host1's password: Permission denied, please try again. test@host1's password: Permission denied (publickey,gssapi-with-mic,password).Überprüfen Sie auch, ob Sie mit dem Root-Benutzer ssh können:
# ssh root@host1 ssh root@host1's password: Last login: Wed Sep 13 14:53:47 2017 from 10.10.10.10 [root@host1 ~]#