Dienstag, 29. Januar 2008
SSH-Login beschränken
Standardmäßig können sich auf Linux-Systemen alle Benutzer per SSH einloggen. Manchmal möchte man dies aber nur bestimmten Benutzern erlauben. Dies ist beispielsweise der Fall, wenn FTP-User als System-User angelegt werden. Diesen möchte man in der Regel natürlich keinen Login erlauben.
Ein Weg, dieses Problem zu lösen, ist, ihnen keine Shell zu geben, indem man in der /etc/passwd die Shell des jeweiligen Benutzers "/bin/bash" durch "/bin/false" ersetzt. Dies funktioniert jedoch nur dann, wenn der Benutzer auch für keine andere Anwendung eine Shell benötigt.
Die weitaus schönere und auch komfortablere Lösung ist folgende:
Nun ist ein Login per SSH nur noch den Benutzern möglich, die Mitglied in mindestens einer der angegebenen Gruppen sind.
Die weitaus schönere und auch komfortablere Lösung ist folgende:
- Bei der Installation des OpenSSH-Servers wird die Gruppe "ssh" angelegt. Nun fügt man alle Benutzer, die sich per SSH einloggen können sollen, dieser Gruppe hinzu.
# adduser benutzername ssh - Nun müssen in der /etc/ssh/sshd_config folgende Zeilen eingefügt werden:# Limit SSH login to users of the given groups
AllowGroups ssh
Natürlich können dort auch andere Gruppen angegeben werden. Mehrere Gruppen werden dabei durch ein Leerzeichen getrennt notiert.
- Schließlich muss der SSH-Daemon noch mit /etc/init.d/sshd restart neu gestartet werden.
Nun ist ein Login per SSH nur noch den Benutzern möglich, die Mitglied in mindestens einer der angegebenen Gruppen sind.
AllowUsers Benutzer1 Benutzer2
usw.