Ich sehe keine SSH-Trennungsereignisse mit „journalctl -u sshd“

Ich sehe keine SSH-Trennungsereignisse mit „journalctl -u sshd“

Ich möchte SSH-Sitzungen überwachen, einschließlich Anmelde- und Abmeldeereignissen. Wenn ich journalctlohne Flags laufe, sehe ich beide Anmeldeereignisse wie:

Accepted publickey for root from 192.168.1.24 port 56464

und Abmeldeereignisse wie:

Disconnected from user root 192.168.1.24 port 56464

sshdWenn ich aber die Ausgabe reduzieren und nur die von mir ausgeführten Ereignisse filtern möchte journalctl -u sshd, werden mir nur die Ereignisse angezeigt Accepted publickey, nicht jedoch die Disconnected from userEreignisse selbst.

Antwort1

TL;DR: Anstelle von journalctl -u sshdsollten Sie verwenden journalctl -t sshd.

Um das herauszufinden, habe ich journalctl -o json-prettyAnmelde- und Abmeldeereignisse ausgeführt und analysiert. Die Anmeldeereignisse haben "_SYSTEMD_UNIT" : "sshd.service"in ihrer JSON-Ausgabe , sodass sie angezeigt werden, wenn Sie die Einheit mit angeben -u sshd. Aber die Abmeldeereignisse haben "_SYSTEMD_UNIT" : "session-27.scope", und deshalb werden sie für nicht angezeigt -u sshd. Natürlich ist die Sitzungsnummer für jede SSH-Sitzung unterschiedlich.

WasIstFür Abmelde- und Anmeldeereignisse gleich ist, was bedeutet, dass wir das Flag (oder die Langform ) "SYSLOG_IDENTIFIER" : "sshd"verwenden müssen, um die Kennung anzugeben.-t--identifier

Dies ist auf Fedora und RHEL. Ich habe es noch nicht auf Debian/Ubuntu getestet. Bitte kommentieren Sie, wenn es dort anders ist.

Ich hoffe, das hilft jemandem.

verwandte Informationen