Frage :Wie können wir den Benutzer-/Gruppenzugriff auf ein System mit ssh beschränken?
SSH verwendet bestimmte Dateien für die Konfiguration, um diese verschiedenen Einschränkungen zu erreichen. Eingehende SSH-Sitzungen (in den Host) werden von sshd (dem SSH-Daemon) verarbeitet. Dieser Prozess hat seine eigene Konfigurationsdatei, /etc/ssh/sshd_config . Die zutreffenden Parameter in der Datei /etc/ssh/sshd_config sind AllowGroups , Benutzer zulassen , Gruppen verweigern und DenyUsers . Wenn diese Parameter gesetzt sind, betrifft dies alle Benutzer von allen Hosts.
Um Gruppen einzuschränken, die Option AllowGroups und DenyGroups sind nützlich. Die genannten Optionen erlauben oder verbieten Benutzer, deren primäre Gruppe oder zusätzliche Gruppe mit einem der Gruppenmuster übereinstimmt.
Beispiel
1. Um SSH-Verbindungen von überall aus den Zugriff auf die Mary- und Jerry-Konten zu ermöglichen, aber nicht auf andere Konten::
# vi /etc/ssh/sshd_config AllowUsers mary jerry
2. So erlauben Sie SSH-Verbindungen von s01.geeklab.com zum Konto john, aber keine anderen eingehenden SSH-Verbindungen:
AllowUsers [email protected]
3. So verweigern Sie die SSH-Verbindung von überall aus allen Benutzern von „Finanzen“:
DenyGroups finance
Fehlgeschlagene Anmeldeversuche anzeigen
Sie können die Anmeldedatensätze jederzeit überprüfen, indem Sie Folgendes eingeben:
# cat /var/log/secure | grep 'sshd'
Die Ausgabe davon sieht folgendermaßen aus:
May 3 13:57:24 centos7 sshd[2479]: pam_unix(sshd:session): session closed for user root May 3 13:57:28 centos7 sshd[3313]: Accepted password for root from 192.168.1.17 port 51093 ssh2 May 3 13:57:28 centos7 sshd[3313]: pam_unix(sshd:session): session opened for user root by (uid=0)
Und wenn Sie eine Liste der fehlgeschlagenen Versuche anzeigen möchten, können Sie Folgendes versuchen:
# cat /var/log/secure | grep 'sshd.*Failed'
Akzeptierte Anmeldeversuche können eingesehen werden mit:
# cat /var/log/secure | grep 'sshd.*Accepted'