Пол Томблин имеет правильное предложение.
Настройте вход в ваш sshd_config так, чтобы он указывал на средство системного журнала, которое вы можете регистрировать отдельно:
=> см. В системном журнале man 3 дополнительные возможности. Выберите один, например,
# Logging
SyslogFacility local5
LogLevel INFO
Затем настройте свой syslog.conf следующим образом:
local5.info |/var/run/mysshwatcher.pipe
Добавьте скрипт, который вы собираетесь написать, в / etc / inittab, чтобы он продолжал работать:
sw0:2345:respawn:/usr/local/bin/mysshwatcher.sh
затем напишите свой скрипт:
#!/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;
Наконец, перезапустите ваш syslogd и загрузите ваш inittab (init q), и он должен работать. Если используются другие варианты этих служб, вам необходимо соответствующим образом настроить их (например, newsyslogd => /etc/newsyslog.conf; Ubuntu: /etc/event.d isntead of inittab)
Это очень элементарно и не хватает, но должно быть достаточно, чтобы вы начали ...
дополнительная информация: man sshd_config для получения дополнительных параметров ведения журнала / подробности.