sshdログを現在のsshセッションにマッピングする方法は?

sshdログを現在のsshセッションにマッピングする方法は?

現在、SSHセッションをSSHDログに関連付ける方法を探しています。

私の目標は、私のSSHセッションに関連するSSHDログからのみ特定の情報を抽出することです。

Jul 04 09:39:06 linuxbox sshd[1122]: Accepted publickey for testuser from 1.2.3.4 port 123 ssh2: RSA-CERT ID test (serial 1) CA RSA fingerprint...

1つのオプションは、SSHログイン中に記録されたSSHD pidをマッピングすることです。SSHD[1122]現在のSSHセッションpidです。しかし、現在SSHセッションPIDを取得する方法が見つかりません。

それとも、一致するPIDに加えて、私のセッションをsshdログにマッピングする別の方法はありますか?

testuser@linuxbox:~$
testuser@linuxbox:~$ sudo systemctl status sshd
* ssh.service - OpenBSD Secure Shell server
     Loaded: loaded (/lib/systemd/system/ssh.service; enabled; vendor preset: enabled)
     Active: active (running) since Tue 2023-07-04 09:10:20 UTC; 29min ago
       Docs: man:sshd(8)
             man:sshd_config(5)
    Process: 1023 ExecStartPre=/usr/sbin/sshd -t (code=exited, status=0/SUCCESS)
   Main PID: 1024 (sshd)
      Tasks: 1 (limit: 1109)
     Memory: 2.7M
     CGroup: /system.slice/ssh.service
             `-1024 sshd: /usr/sbin/sshd -D [listener] 0 of 10-100 startups
Jul 04 09:39:03 linuxbox sshd[1122]: rexec line 126: Deprecated option UsePrivilegeSeparation
Jul 04 09:39:06 linuxbox sshd[1122]: Accepted publickey for testuser from 1.2.3.4 port 123 ssh2: RSA-CERT ID test (serial 1) CA RSA fingerprint...
Jul 04 09:39:06 linuxbox sshd[1122]: pam_unix(sshd:session): session opened for user testuser by (uid=0)
testuser@linuxbox:~$ date
Tue 04 Jul 2023 09:39:50 AM UTC
testuser@linuxbox:~$ ps -ef | grep sshd
root         881       1  0 09:05 ?        00:00:00 sshd: testuser [priv]
root         884       1  0 09:05 ?        00:00:00 sshd: testuser [priv]
testuser     893     881  0 09:05 ?        00:00:00 sshd: testuser@pts/0
testuser     904     884  0 09:05 ?        00:00:00 sshd: testuser@notty
root        1024       1  0 09:10 ?        00:00:00 sshd: /usr/sbin/sshd -D [listener] 0 of 10-100 startups
root        1122    1024  0 09:39 ?        00:00:00 sshd: testuser [priv]
testuser    1124    1122  0 09:39 ?        00:00:00 sshd: testuser@pts/1
testuser    1151    1125  0 09:39 pts/1    00:00:00 grep --color=auto sshd
testuser@linuxbox:~$

ベストアンサー1

現在のセッションのPIDを取得するpstreeフラグ-s「選択したプロセスの親プロセスを表示する」)。

$ pstree -sp $$
systemd(1)───sshd(1583)───sshd(30575)───sshd(30577)───tcsh(30579)───pstree(30915)

セッションの関連 PID は、基本 PID sshd プロセスの子プロセスであり、以下を使用して見つけることができます。

$ systemctl show -p MainPID sshd
MainPID=1583

したがって、セッションのPIDはです30575

現在のセッションのPIDがある場合は、次のものを使用できますjournalctl

journalctl -u sshd _PID=30575

おすすめ記事