SSHログ
SSHサーバーは、ログイン試行などのイベントをログに記録します。
SSH ログはシステム ログに書き込まれます。SSHログを確認するには、システムログからSSH関連のレコードを抽出する必要があります。
ジャーナルctlコマンド
システムが Systemd を使用している場合は、journalctl
コマンドを使用してログを表示できます。
$ journalctl -u ssh
Mar 25 20:25:36 web0 sshd[14144]: Accepted publickey for ubuntu from 10.103.160.144 port 59200 ssh2: RSA SHA256:l/zFNib1vJ+64nxLB4N9KaVhBEMf8arbWGxHQg01SW8
Mar 25 20:25:36 web0 sshd[14144]: pam_unix(sshd:session): session opened for user ubuntu by (uid=0)
Mar 25 20:39:12 web0 sshd[14885]: pam_unix(sshd:session): session closed for user ubuntu
...
上記の例では、返されたログの各行はログイン試行であり、失敗したログイン試行が最も古いものから最新のものまで順番に含まれています。 -u
パラメータは、-u ssh
が SSH ユニットを表示することを意味します。一部のディストリビューションでは、-u sshd
と記述する必要があります。
-b0
パラメータを指定すると、最後のログイン以降のログを表示できます。
$ journalctl -t ssh -b0
-r
パラメータは、最新のものを先頭にして、逆の順序で出力することを示します。
$ journalctl -t ssh -b0 -r
since
パラメータとuntil
パラメータはログの時間範囲を指定できます。
$ journalctl -u ssh --since yesterday # 查看昨天的日志
$ journalctl -u ssh --since -3d --until -2d # 查看三天前的日志
$ journalctl -u ssh --since -1h # 查看上个小时的日志
$ journalctl -u ssh --until "2022-03-12 07:00:00" # 查看截至到某个时间点的日志
リアルタイム ログを表示するには、次のコマンドを使用します。
$ journalctl -fu ssh
その他のコマンド
システムが Systemd を使用しない場合、sshd ログは /var/log/auth.log
ファイルにあります。
$ sudo grep sshd /var/log/auth.log
次のコマンドは、sshd エントリの最後の 500 行を調べます。
$ sudo tail -n 500 /var/log/auth.log | grep sshd
-f
パラメータを使用すると、ログをリアルタイムで追跡できます。
$ sudo tail -f -n 500 /var/log/auth.log | grep sshd
詳細を調べずに誰がシステムにログインしたかだけを確認したい場合は、lastlog
コマンドを使用できます。
$lastlog
ログ設定
sshd 設定ファイル /etc/ssh/sshd_config
でログ レベルを調整できます。
LogLevel VERBOSE
デバッグの目的で、ログを DEBUG に調整できます。
LogLevel DEBUG
作者: wangdoc
アドレス: https://wangdoc.com/
ライセンス: クリエイティブ・コモンズ 3.0