`journalctl -u sshd` で SSH 切断イベントが表示されません

`journalctl -u sshd` で SSH 切断イベントが表示されません

ログインおよびログアウト イベントを含む 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 ではまだテストしていません。異なる場合はコメントしてください。

これが誰かの役に立つことを願います。

関連情報