
ログインおよびログアウト イベントを含む 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 ではまだテストしていません。異なる場合はコメントしてください。
これが誰かの役に立つことを願います。