GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Begrenzen Sie die Anzahl der SSH-Anmeldungen pro Benutzer/Gruppe/System

Wie Sie wahrscheinlich wissen, können wir von demselben Benutzer mehrmals per SSH in ein Remote-Linux-System einsteigen. Es gibt keine Grenzen! Sie könnten einfach mehrere Terminalfenster (oder mehrere Registerkarten im Terminal) öffnen und mehrere SSH-Sitzungen von jeder Registerkarte aus mit demselben Benutzerkonto initiieren. Was ist, wenn Sie dieses Verhalten ändern möchten? Beispielsweise möchten Sie möglicherweise nur eine aktive SSH-Sitzung für einen Benutzer zulassen. Das werden wir jetzt sehen. Dieses kurze Tutorial erläutert, wie Sie die Anzahl der SSH-Anmeldungen pro Benutzer oder Gruppe oder System unter Linux begrenzen.

In den meisten Linux-Distributionen gibt es eine Datei namens limits.conf Hier können Sie die maximale Anzahl gleichzeitiger SSH-Sitzungen für einen Benutzer oder eine Gruppe von Benutzern definieren. Wenn der bestimmte Benutzer mehr als die zulässigen SSH-Anmeldungen versucht, sich per SSH in das System einzuloggen, wird ihm/ihr der Zugriff verweigert.

Begrenzen Sie die Anzahl der SSH-Anmeldungen pro Benutzer oder Gruppe unter Linux

Die limits.conf Datei befindet sich normalerweise unter /etc/security/ Verzeichnis auf RPM- und DEB-basierten Systemen.

Gehen Sie zu Ihrem Remote-System und bearbeiten Sie /etc/security/limits.conf Datei mit sudo oder root Benutzer:

$ sudo nano /etc/security/limits.conf

Um die Anzahl gleichzeitiger SSH-Sitzungen für einen bestimmten Benutzer zu begrenzen , zum Beispiel ostechnix , Fügen Sie am Ende die folgende Zeile hinzu:

ostechnix	hard	maxlogins	1

Hier,

  • ostechnix - Name des Benutzers auf meinem CentOS 8-Server.
  • maxlogins 1 - Maximale Anzahl an Anmeldungen für diesen Benutzer. In meinem Fall ist es 1 . Sie können diesen Wert erhöhen, um maximal keine zuzulassen. der aktiven SSH-Sitzungen pro Benutzer.
  • schwer - Durchsetzung harter Grenzen.

Wenn Sie die Anzahl der SSH-Verbindungen für eine Benutzergruppe begrenzen möchten , fügen Sie Folgendes hinzu:

@mygroup	hard    maxlogins	1

Ersetzen Sie @mygroup mit deinem Gruppennamen. In diesem Szenario können sich alle Benutzer in der mygroup nicht mehr als einmal über SSH anmelden.

Wenn Sie SSH-Sitzungen aller Benutzer (global) im System einschränken möchten, fügen Sie stattdessen diese Zeile hinzu:

*	hard    maxlogins	1

Hier das Sternchen bedeutet global (d. h. alle Benutzer im System). Sobald Sie die maximale Anzahl von SSH-Sitzungen pro Benutzer/Gruppe oder dem gesamten System definiert haben, speichern und schließen Sie die Datei.

Versuchen Sie nun, mehr als einmal mit demselben Benutzer eine SSH-Verbindung zum System herzustellen. Sie sehen eine Fehlermeldung wie unten.

Too many logins for 'ostechnix'.
Last login: Tue Feb 18 17:12:09 2020 from 192.168.225.37
Connection to 192.168.225.52 closed.

Wie Sie in der obigen Ausgabe sehen;

  1. Zuerst melde ich mich per SSH als Root-Benutzer per SSH auf dem entfernten CentOS 8-Server an und die Verbindung wurde erfolgreich hergestellt.
  2. Dann habe ich einen neuen Tab und SSH in den gleichen Server wie der normale Benutzer "ostechnix" geöffnet und die Verbindung war erfolgreich.
  3. Schließlich habe ich versucht, mit demselben Benutzer (z. B. ostechnix) eine SSH-Verbindung mit demselben Server herzustellen, und diesmal wurde die Verbindung verweigert. Der Benutzer "ostechnix" kann sich nicht mehr als einmal per SSH in das System einloggen . Weil seine maximale Anzahl erlaubter SSH-Sitzungen für diesen Benutzer nur eine ist Zeit. Daher wird die SSH-Verbindung für diesen Benutzer verweigert.

In diesem Beispiel haben wir die Gesamtzahl der aktiven SSH-Sitzungen für einen Benutzer oder eine Gruppe oder alle Benutzer im System eingeschränkt. Es ist auch möglich, die SSH-Sitzungen pro System zu begrenzen. Beispielsweise können wir nur eine SSH-Anmeldung von einem System zulassen, nicht pro Benutzer oder Gruppe.

Gesamtzahl der SSH-Sitzungen pro System begrenzen

Um die Gesamtzahl der aktiven SSH-Verbindungen pro System zu begrenzen, fügen Sie die folgende Zeile in /etc/security/limits.conf hinzu Datei:

*       hard    maxsyslogins    1

Hier, maxsyslogins bezieht sich auf die maximale Anzahl von Anmeldungen auf dem System, nicht pro Benutzer oder pro Gruppe.

Versuchen Sie, sich per SSH mit dem System zu verbinden, und Sie können nicht mehr als die maximal zulässige Anzahl von Anmeldungen auf dem System auf das System zugreifen.

Sehen? Der Benutzer "ostechnix" kann zum ersten Mal nicht einmal SSH. Denn die Gesamtzahl der zulässigen SSH-Anmeldungen ist nur eine für das System. Diesmal wurde auch die vom Root-Benutzer hergestellte SSH-Verbindung berücksichtigt. Die maximale Anzahl der SSH-Anmeldungen hat also das definierte Limit überschritten und dem Benutzer "ostechnix" wurde der Zugriff verweigert. Ich hoffe, Sie verstehen.

Bitte beachten Sie, dass diese Einschränkung nur für normale Benutzer gilt. Der Root-Benutzer kann sich weiterhin beliebig oft über SSH anmelden.

Verwandte Lektüre:

  • SSH-Zugriff für einen bestimmten Benutzer oder eine bestimmte Gruppe in Linux zulassen oder verweigern
  • Beschränken Sie den Zugriff auf Linux-Server mithilfe von TCP-Wrappern
  • Befehle auf Remote-Linux-Systemen über SSH ausführen
  • So erstellen Sie einen SSH-Alias ​​unter Linux
  • SSH in ein bestimmtes Verzeichnis unter Linux

Linux
  1. So blockieren oder deaktivieren Sie normale Benutzeranmeldungen in Linux

  2. Kurztipp:Fügen Sie einen Benutzer zur Gruppe sudoers hinzu

  3. Ssh – Beschränken eines Ssh/scp/sftp-Benutzers auf ein Verzeichnis?

  4. Wie kann ich die laufenden Prozesse eines beliebigen Benutzers in SSH anzeigen?

  5. Wie kann man die Anzahl der Kerne eines Systems in Linux ermitteln?

So beschränken Sie den Zugriff des Benutzers auf das Linux-System

Deaktivieren Sie die SSH-Passwortauthentifizierung für bestimmte Benutzer oder Gruppen

So gewähren oder verweigern Sie einem bestimmten Benutzer oder einer bestimmten Gruppe in Linux den SSH-Zugriff

Die Auswirkungen des Hinzufügens von Benutzern zu einem Linux-System

Wie deaktiviere ich die SSH-Anmeldung für den Root-Benutzer in Linux?

Hunderte von fehlgeschlagenen SSH-Anmeldungen