No veo eventos de desconexión SSH con `journalctl -u sshd`

No veo eventos de desconexión SSH con `journalctl -u sshd`

Quiero monitorear las sesiones SSH, incluidos los eventos de inicio y cierre de sesión. Cuando ejecuto journalctlsin 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 sshdeventos que ejecuto journalctl -u sshd. En este caso solo veo los Accepted publickeyeventos, pero no los Disconnected from usereventos.

Respuesta1

TL;DR: En lugar de journalctl -u sshddeberías usar journalctl -t sshd.

Para averiguarlo, ejecuté journalctl -o json-prettyy 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 -tbandera (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.

información relacionada