Я не вижу событий отключения SSH с помощью `journalctl -u sshd`

Я не вижу событий отключения SSH с помощью `journalctl -u sshd`

Я хочу отслеживать сеансы SSH, включая события входа и выхода. Когда я запускаю journalctlбез каких-либо флагов, я вижу оба события входа, например:

Accepted publickey for root from 192.168.1.24 port 56464

и события выхода из системы, такие как:

Disconnected from user root 192.168.1.24 port 56464

Но когда я хочу уменьшить вывод и отфильтровать только sshdсобытия, которые я запускаю journalctl -u sshd. В этом случае я вижу только Accepted publickeyсобытия, но не Disconnected from userсобытия.

решение1

TL;DR: Вместо journalctl -u sshdследует использовать journalctl -t sshd.

Чтобы выяснить это, я запустил journalctl -o json-prettyи проанализировал события входа и выхода. События входа имеют "_SYSTEMD_UNIT" : "sshd.service"в своем выводе JSON, поэтому они отображаются, когда вы указываете единицу с -u sshd. Но события выхода имеют "_SYSTEMD_UNIT" : "session-27.scope", и поэтому они не отображаются для -u sshd. Конечно, номер сеанса отличается для каждого сеанса SSH.

Чтоявляетсяобщим для событий выхода из системы и входа в систему является "SYSLOG_IDENTIFIER" : "sshd"то, что нам необходимо использовать -tфлаг (или длинную форму --identifier) для указания идентификатора.

Это на Fedora и RHEL. Я пока не тестировал на Debian/Ubuntu. Пожалуйста, прокомментируйте, если там по-другому.

Надеюсь, это кому-нибудь поможет.

Связанный контент