SSH "Login-Bildschirm" für Linux
Ich versuche, ein Skript schreiben, das den Benutzer darüber informiert, wenn sich jemand angemeldet hat, auf die Maschine per ssh.
Meine aktuelle Idee ist, analysieren die Ausgabe von "w" mit grep in Intervallen.
Aber das ist weder elegant noch performant. Hat jemand eine bessere Idee, wie das umzusetzen, so ein Programm?
Jede Hilfe wäre wirklich dankbar!
InformationsquelleAutor Chris | 2009-01-13
Du musst angemeldet sein, um einen Kommentar abzugeben.
Unter Ubuntu (und ich denke alle anderen Debian-Distributionen, wenn nicht alle Linuces), die Datei /var/log/auth.log-Datensätze erfolgreichen (und erfolglosen) login-versuche:
Könnte man die Einrichtung eines sehr einfachen monitor mit diesem Befehl (beachten Sie, dass Sie müssen root sein, um zu sehen, das auth-log):
Sehr guter Punkt - ich wusste nicht über diese option
Ich kenne unix-admins, die nur über die gleiche Sache, für die Erkennung von logins als root aus, um Ihre boxen. Wenn jemand meldet sich als root an, eine e-mail an Ihren pager. Sehr nützlich, aber gelegentlich amüsant, wie jedes mal bekam Sie in ernsthafte Wartung und öffnete eine root-shell, die Sie bekommen würde, eine Seite...
InformationsquelleAutor kdgregory
Paul Tomblin hat den richtigen Tipp.
Einrichten der Protokollierung in Ihrer sshd_config auf einen syslog-facility, die Sie protokollieren können separat:
=> siehe man 3 syslog weitere Einrichtungen. Wählen Sie eins werden, wie z.B.
Dann richten Sie Ihre syslog.conf so:
Fügen Sie das Skript, die Sie gehen zu schreiben, um /etc/inittab, damit es läuft:
dann schreiben Sie Ihre Skript:
Schließlich, starten Sie den syslogd und erhalten Sie Ihre inittab reloaded (init q) und es sollte funktionieren. Wenn andere variantes dieser Dienste verwendet werden, müssen Sie die Dinge entsprechend (z.B. newsyslogd => /etc/newsyslog.conf; Ubuntu: /etc/event.d anstatt von inittab)
Dies ist sehr rudimentär und fehlt, aber sollte genug sein, zum du zu erhalten begannen ...
mehr info: man sshd_config für mehr logging-Optionen/Ausführlichkeit.
InformationsquelleAutor mjy
Wenn Sie nicht kümmern, wie Sie sich angemeldet haben (telnet/ssh), die 'letzten' Unix-Befehlszeilen-Dienstprogramm zeigt die letzten logins in der Maschine. Remote-Benutzer wird die IP-Adresse
[root@ex02 www]# letzten
foo pts/1 81.31.x.y Sun Jan 18 07:25 noch angemeldet
foo pts/0 81.31.x.y Sun Jan 18 01:51 noch angemeldet
foo pts/0 81.31.x.y Sat Jan 17 03:51 - 07:52 (04:00)
bar pts/5 199.146.x.y Fri Jan 16 08:57 - 13:29 (04:32
InformationsquelleAutor Daniel Lopez
Eingerichtet, eine named pipe, und die Einrichtung eines log-Datei-parser, um es zu hören, und senden Sie die ssh-Nachrichten an. Die log-Datei-parser können tun, was Sie wollen, oder das signal zu einem Dämon zu tun.
Umleiten der log-Datei erfolgt in einer config-Datei in /etc/deren name entgeht mir jetzt. /etc/syslog.conf, denke ich.
InformationsquelleAutor Paul Tomblin
Ich habe ein Programm (ich nenne Authentifizierung Monitor), die die Aufgabe löst, beschrieben, in Frage.
Wenn Sie es wollten, sind Sie mehr als willkommen, um es herunterzuladen, zu untersuchen, wie ich dieses problem lösen (mit log-Dateien).
Finden Sie die Authentifizierung Monitor frei verfügbar hier: http://bwyan.dk/?p=1744
Andrew, Schnitt der Mann eine Pause, es ist ein open-source-Projekt.
InformationsquelleAutor Brian René Jensen
Wir hatten das gleiche problem, also wir schrieben unser eigenes Drehbuch.
Es kann heruntergeladen werden von der github.
Hoffe es hilft 🙂
prost!
Ivan
Thx, you made my day 🙂
InformationsquelleAutor Sabo