Paul Tomblin den richtigen Vorschlag hat.
in Ihrem sshd_config einrichten Protokollierung an einen Syslog-Einrichtung verweisen, die Sie separat anmelden können:
=> man 3 syslog für mehr Einrichtungen sehen. Wählen Sie einen wie z.B.
# Logging
SyslogFacility local5
LogLevel INFO
dann Ihre syslog.conf wie folgt aufgebaut:
local5.info |/var/run/mysshwatcher.pipe
das Skript hinzufügen Sie/etc/inittab schreiben wollen, damit es läuft weiter:
sw0:2345:respawn:/usr/local/bin/mysshwatcher.sh
Schreiben Sie dann Ihr Skript:
#!/bin/sh
P=/var/run/mysshwatcher.pipe
test -p $P || mkfifo $P
while read x <$P; do
# ... whatever, e.g.:
echo "ssh info: $x" | wall
done;
Fina lly, starte deinen syslogd neu und lass deine inittab neu laden (init q) und es sollte funktionieren. Wenn andere Varianten dieser Dienste verwendet werden, müssen Sie die Dinge entsprechend konfigurieren (z. B. newsyslogd => /etc/newsyslog.conf; Ubuntu: /etc/event.d ist statt von inittab)
Dies ist sehr rudimentär und fehlt, aber sollte genug sein, um dich zu beginnen ...
weitere Informationen: man sshd_config für mehr Protokollierungsoptionen/Ausführlichkeit.
Oder Sie könnten einfach "Tail -F" verwenden. –
Ausgezeichneter Punkt - Ich wusste nicht über diese Option – kdgregory
Ich habe Unix-Admins kennen gelernt, die genau das gleiche tun, um Logins als Root zu ihren Boxen zu erkennen. Wenn sich jemand als root anmeldet, wird eine E-Mail an seinen Pager gesendet. Sehr nützlich, aber gelegentlich amüsant, denn jedes Mal, wenn sie ernsthafte Wartungsarbeiten anstellten und eine Root-Shell öffneten, bekamen sie eine Seite ... –