Diese kurze Anleitung führt Sie durch die Schritte, um einem bestimmten Benutzer oder einer Gruppe in Linux- und Unix-Betriebssystemen den SSH-Zugriff zu gewähren oder zu verweigern.
Einführung
Vor einiger Zeit haben wir darüber gesprochen, wie man den Zugriff eines Benutzers auf ein Linux-System mit Restricted Shell einschränkt . Sobald wir die Benutzer in den eingeschränkten Modus versetzt haben, können sie nur noch das tun, was ihnen erlaubt ist.
Dies ist hilfreich, wenn Sie einem bestimmten Benutzer erlauben möchten, nur einen bestimmten Befehlssatz auszuführen.
Hier in diesem Artikel werden wir den SSH-Zugriff für einen Benutzer oder eine Gruppe aktivieren oder deaktivieren, indem wir einige Änderungen in der SSH-Standardkonfigurationsdatei vornehmen.
Gestatten oder verweigern Sie einem bestimmten Benutzer oder einer bestimmten Gruppe in Linux den SSH-Zugriff
Die openSSH-Standardkonfigurationsdatei enthält zwei Direktiven, um einem bestimmten Benutzer oder einer bestimmten Gruppe den SSH-Zugriff zu erlauben oder zu verweigern.
Lassen Sie uns zunächst sehen, wie Sie einem Benutzer und einer Gruppe den SSH-Zugriff gewähren oder aktivieren. Bitte beachten Sie, dass alle unten angegebenen Befehle als root
ausgeführt werden sollten oder sudo
Benutzer.
1. SSH-Zugriff für einen Benutzer oder eine Gruppe zulassen
Um einem bestimmten Benutzer den SSH-Zugriff zu erlauben, zum Beispiel sk , bearbeiten Sie sshd_config
Datei:
$ sudo vi /etc/ssh/sshd_config
Drücken Sie "i" um in den Einfügemodus zu gelangen und die folgende Zeile hinzuzufügen oder zu ändern:
AllowUsers sk
Bearbeiten Sie die SSH-Konfigurationsdatei, um bestimmten Benutzern den SSH-Zugriff zu gewähren
Ersetzen Sie „sk“ durch Ihren Benutzernamen. Bitte beachten Sie die Leerzeicheneinrückung zwischen "AllowUsers" und "sk". Sie sollten Tab verwenden statt Leertaste . Bedeutung - fügen Sie das Wort "AllowUsers" hinzu und drücken Sie die Tab-Taste und geben Sie dann den Benutzernamen ein.
Sie können auch mehr als einen Benutzer angeben, wie unten gezeigt.
AllowUsers user1 user2
Um eine ganze Gruppe zuzulassen, sagen Sie zum Beispiel root
, fügen Sie die folgende Zeile hinzu/bearbeiten Sie sie:
AllowGroups root
Diese Einstellung lässt alle Mitglieder des "root"
zu Gruppe per ssh auf den Linux-Server.
Drücken Sie 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, um die Änderungen zu übernehmen.
$ sudo systemctl restart sshd
Jetzt fragt der Benutzer und alle Mitglieder von "root"
Gruppe dürfen per SSH auf Ihren Linux-Server zugreifen. Die anderen Benutzer (außer sk und Mitglieder von "root"
group) dürfen nicht per ssh auf das System zugreifen.
Um dies zu überprüfen, versuchen Sie, als einer der nicht zugelassenen Benutzer per SSH auf den Linux-Server zuzugreifen:
$ ssh [email protected]
Sie erhalten die folgende Fehlermeldung:
[email protected]'s password: Permission denied, please try again.
SSH-Zugriffsberechtigung verweigert
2. Verweigern Sie einem Benutzer oder einer Gruppe den SSH-Zugriff
Um den SSH-Zugriff für einen Benutzer oder eine Gruppe zu deaktivieren oder zu verweigern, müssen Sie die folgenden Anweisungen in sshd_config
Ihres Remote-Servers hinzufügen/ändern Datei.
- Benutzer verweigern
- Gruppen verweigern
Um einem bestimmten Benutzer namens „sk“ den SSH-Zugriff zu verweigern, bearbeiten Sie sshd_config
Datei:
$ sudo vi /etc/ssh/sshd_config
Fügen Sie die folgende Zeile in der Datei sshd_config hinzu/bearbeiten Sie sie.
DenyUsers sk
Stellen Sie sicher, dass der Leerzeicheneinzug korrekt ist. Verwenden Sie nicht die Leertaste. Drücken Sie die Tab-Taste und fügen Sie den Benutzernamen hinzu.
Um mehreren Benutzern den SSH-Zugriff zu verweigern, geben Sie die Benutzernamen wie unten gezeigt durch Leerzeichen getrennt ein.
DenyUsers user1 user2
Ebenso, um einer ganzen Gruppe den SSH-Zugriff zu verweigern, zum Beispiel root
, hinzufügen:
DenyGroups root
Speichern und beenden Sie die ssh-Konfigurationsdatei. Starten Sie den ssh-Dienst neu, um die Änderungen zu übernehmen.
$ sudo systemctl restart sshd
Versuchen Sie nun, von einem blockierten Benutzerkonto, z. B. sk:
, eine SSH-Verbindung zu Ihrem Linux-Computer herzustellen$ ssh [email protected]
Sie erhalten die folgende Meldung:
[email protected]'s password: Permission denied, please try again. [email protected]'s password:
3. Deaktivieren Sie die SSH-Root-Anmeldung
Root-SSH-Zugriff wird in Bezug auf die Sicherheit als schlechte Vorgehensweise angesehen . Es wird daher dringend empfohlen, die SSH-Root-Benutzeranmeldung zu deaktivieren, um Ihr System zu sichern.
Um die Root-SSH-Anmeldung zu deaktivieren, bearbeiten Sie sshd_config
Datei:
$ sudo vi /etc/ssh/sshd_config
Suchen Sie die folgende Zeile, kommentieren Sie sie aus und setzen Sie den Wert auf no
.
PermitRootLogin no
Starten Sie den SSH-Dienst neu, damit die Änderungen sofort wirksam werden:
$ sudo systemctl restart sshd
Schlussfolgerung
Sie wissen jetzt, wie Sie bestimmten Benutzern oder einer Gruppe in Linux den SSH-Zugriff gewähren und einschränken. Sie haben auch gelernt, wie Sie die SSH-Root-Anmeldung unter Linux verweigern oder deaktivieren. Dies ist eine der empfohlenen Sicherheitspraktiken, die jeder Linux-Administrator beim Einrichten eines Linux-Servers implementieren sollte.
Verwandte Lektüre:
- SSH-Passwortauthentifizierung für bestimmte Benutzer oder Gruppen deaktivieren
- Begrenzen Sie die Anzahl der SSH-Anmeldungen pro Benutzer/Gruppe/System
- SSH in ein bestimmtes Verzeichnis unter Linux