
Quiero monitorear las sesiones SSH, incluidos los eventos de inicio y cierre de sesión. Cuando ejecuto journalctl
sin ningún indicador, veo ambos eventos de inicio de sesión como:
Accepted publickey for root from 192.168.1.24 port 56464
y eventos de cierre de sesión como:
Disconnected from user root 192.168.1.24 port 56464
Pero cuando quiero reducir la salida y filtrar solo los sshd
eventos que ejecuto journalctl -u sshd
. En este caso solo veo los Accepted publickey
eventos, pero no los Disconnected from user
eventos.
Respuesta1
TL;DR: En lugar de journalctl -u sshd
deberías usar journalctl -t sshd
.
Para averiguarlo, ejecuté journalctl -o json-pretty
y analicé los eventos de inicio y cierre de sesión. Los eventos de inicio de sesión tienen "_SYSTEMD_UNIT" : "sshd.service"
en su salida JSON, por lo que aparecen cuando especifica la unidad con -u sshd
. Pero los eventos de cierre de sesión sí lo han hecho "_SYSTEMD_UNIT" : "session-27.scope"
y es por eso que no se muestran -u sshd
. Por supuesto, el número de sesión es diferente para cada sesión SSH.
QuéesLo común tanto para los eventos de cierre de sesión como de inicio de sesión es "SYSLOG_IDENTIFIER" : "sshd"
lo que significa que tenemos que usar la -t
bandera (o formato largo --identifier
) para especificar el identificador.
Esto está en Fedora y RHEL. Aún no lo he probado en Debian/Ubuntu. Por favor comente si es diferente allí.
Espero que esto ayude a alguien.