SSH-Zugriff für einen bestimmten Benutzer oder eine bestimmte Gruppe in Linux erlauben oder verweigern
Dieser kurze Leitfaden führt Sie durch die Schritte, um den SSH-Zugriff für einen bestimmten Benutzer oder eine Gruppe in Linux- und Unix-Betriebssystemen zu erlauben oder zu verweigern.
Wir werden auch lernen, wie man den SSH-Root-Zugang deaktiviert in Linux. Das Deaktivieren des SSH-Root-Zugangs erhöht die Sicherheit, indem es das Risiko von Brute-Force-Angriffen auf das root-Konto mindert, das im Falle einer Kompromittierung die volle Kontrolle über das System gewährt.
Einführung
Vor einiger Zeit haben wir darüber gesprochen, wie man den Zugriff eines Benutzers auf ein Linux-System mit einer eingeschränkten Shell einschränken kann. Sobald wir die Benutzer in den eingeschränkten Modus versetzt haben, können sie nichts tun, außer das, was ihnen erlaubt ist.
Es wird hilfreich sein, wenn Sie einem bestimmten Benutzer erlauben möchten, nur einen bestimmten Satz von Befehlen auszuführen.
In diesem Artikel werden wir SSH-Zugriff für einen Benutzer oder eine Gruppe aktivieren oder deaktivieren, indem wir einige Änderungen in der standardmäßigen SSH-Konfigurationsdatei vornehmen.
SSH-Zugriff für einen bestimmten Benutzer oder eine bestimmte Gruppe in Linux erlauben oder verweigern
Die Standardkonfigurationsdatei von OpenSSH enthält zwei Direktiven, um den SSH-Zugang für einen bestimmten Benutzer oder eine Gruppe zu erlauben oder zu verweigern.
Zuerst sehen wir uns an, wie man einem Benutzer und einer Gruppe SSH-Zugriff erlaubt oder aktiviert. Bitte beachten Sie, dass alle unten angegebenen Befehle als root oder sudo-Benutzer ausgeführt werden sollten.
1. SSH-Zugriff für einen Benutzer oder eine Gruppe erlauben
Um SSH-Zugriff für einen bestimmten Benutzer zu erlauben, zum Beispiel sk, bearbeiten Sie die Datei /etc/ssh/sshd_config:
$ sudo vi /etc/ssh/sshd_configDrücken Sie "i", um in den Einfügemodus zu wechseln und die folgende Zeile hinzuzufügen oder zu ändern:
AllowUsers skErsetzen Sie "sk" durch Ihren Benutzernamen. Bitte achten Sie auf die Leereinrückung zwischen "AllowUsers" und "sk". Sie sollten Tab anstelle der Leertaste verwenden. Das bedeutet - fügen Sie das Wort "AllowUsers" ein, drücken Sie die Tabulatortaste und geben Sie dann den Benutzernamen an.
Sie können auch mehr als einen Benutzer angeben, wie unten gezeigt.
AllowUsers user1 user2Um SSH-Zugriff für eine gesamte Gruppe zu erlauben, zum Beispiel für root, fügen Sie die folgende Zeile hinzu/bearbeiten Sie sie:
AllowGroups rootDiese Einstellung erlaubt allen Mitgliedern der Gruppe "root", sich per SSH auf den Linux-Server einzuloggen.
Drücken Sie die ESC-Taste, um den Einfügemodus zu verlassen, und geben Sie :wq ein, um die SSH-Konfigurationsdatei zu speichern und zu beenden. Starten Sie den SSH-Dienst neu, damit die Änderungen wirksam werden.
$ sudo systemctl restart sshd
Jetzt dürfen der Benutzer sk und alle Mitglieder der "root"-Gruppe per SSH auf Ihren Linux-Server zugreifen. Die anderen Benutzer (außer sk und Mitglieder der "root"-Gruppe) dürfen nicht über SSH auf das System zugreifen.
Um dies zu überprüfen, versuchen Sie, sich mit ssh als einer der nicht zulässigen Benutzer auf den Linux-Server einzuloggen:
$ ssh ostechnix@192.168.225.52Sie werden die folgende Fehlermeldung erhalten:
ostechnix@192.168.225.52's password:
Permission denied, please try again.2. SSH-Zugriff für einen Benutzer oder eine Gruppe verweigern
Um SSH-Zugriff für einen Benutzer oder eine Gruppe zu deaktivieren oder zu verweigern, müssen Sie die folgenden Direktiven in der /etc/ssh/sshd_config-Datei Ihres Remote-Servers hinzufügen oder ändern.
- DenyUsers
- DenyGroups
Um SSH-Zugang für einen bestimmten Benutzer namens "sk" zu verweigern, bearbeiten Sie die Datei /etc/ssh/sshd_config:
$ sudo vi /etc/ssh/sshd_configFügen Sie die folgende Zeile hinzu/bearbeiten Sie sie:
DenyUsers skStellen Sie sicher, dass die Einrückung mit Leerzeichen korrekt ist. Verwenden Sie nicht die Leertaste. Drücken Sie die Tabulatortaste und fügen Sie den Benutzernamen hinzu.
Ähnlich, um SSH-Zugang für mehrere Benutzer zu verweigern, geben Sie die Benutzernamen wie unten gezeigt durch Leerzeichen getrennt an.
DenyUsers user1 user2Ebenso, um SSH-Zugriff für eine ganze Gruppe zu verweigern, zum Beispiel root, fügen Sie hinzu:
DenyGroups rootSpeichern Sie die SSH-Konfigurationsdatei und beenden Sie sie. Starten Sie den SSH-Dienst neu, damit die Änderungen wirksam werden.
$ sudo systemctl restart sshd
Versuche jetzt, dich von einem gesperrten Benutzerkonto, zum Beispiel sk, auf deine Linux-Maschine per SSH einzuloggen:
$ ssh sk@192.168.225.52Sie werden die folgende Nachricht erhalten:
sk@192.168.225.52's password:
Permission denied, please try again.
sk@192.168.225.52's password:3. SSH-Root-Login deaktivieren
Root-SSH-Zugriff wird aus Sicherheitsgründen als schlechte Praxis angesehen. Daher wird dringend empfohlen, den SSH-Root-Benutzerlogin zu deaktivieren, um Ihr System zu sichern.
Um den Root-SSH-Login zu deaktivieren, bearbeiten Sie die Datei /etc/ssh/sshd_config:
$ sudo vi /etc/ssh/sshd_configFinden Sie die folgende Zeile, heben Sie die Auskommentierung auf und setzen Sie den Wert auf nein.
PermitRootLogin noStarten Sie den SSH-Dienst neu, um die Änderungen sofort wirksam zu machen:
$ sudo systemctl restart sshdFazit
Sie wissen jetzt, wie man SSH-Zugriff für bestimmte Benutzer oder eine Gruppe in Linux gewährt und einschränkt. Sie haben auch gelernt, wie man SSH-Root-Login in Linux verweigert oder deaktiviert. Es ist eine der empfohlenen Sicherheitspraktiken, die jeder Linux-Administrator beim Einrichten eines Linux-Servers implementieren sollte.
Verwandte Lektüre:
- SSH-Passwortauthentifizierung für bestimmten Benutzer oder bestimmte Gruppe deaktivieren
- Begrenzen Sie die Anzahl der SSH-Anmeldungen pro Benutzer/Gruppe/System
- Wie man sich per SSH in ein bestimmtes Verzeichnis unter Linux einloggt
- So erlauben oder verweigern Sie einer Gruppe Sudo-Zugriff unter Linux
