誰がSSHログインしたのかログを取る方法

2017.4.5 (水)

鍵のペアを作成する際にコメントに名前とかEmailとか入れておくとちょっと手間ですが誰がログインしたのかわかるようになります。

sshのsecureログのカスタマイズ

vi /etc/ssh/sshd_config

#SyslogFacility AUTH
↓
SyslogFacility AUTHPRIV

#LogLevel INFO
↓
LogLevel VERBOSE

ログ確認

tail -f /var/log/secure

こんな感じでフィンフガープリントがとれます。

Apr  5 12:00:45 hostname sshd[4819]: Received disconnect from 123.456.789.000: 11: disconnected by user
Apr  5 12:00:45 hostname sshd[4819]: pam_unix(sshd:session): session closed for user root
Apr  5 12:00:45 hostname sshd[4862]: Set /proc/self/oom_score_adj to 0
Apr  5 12:00:45 hostname sshd[4862]: Connection from 123.456.789.000 port 62934 on 123.456.789.555 port 22
Apr  5 12:00:45 hostname sshd[4862]: Failed publickey for root from 123.456.789.000 port 62934 ssh2: RSA 18:9d:f4:07:f1:12:49:1e:d6:64:81:4f:bd:2d:41:21

Apr  5 12:00:45 hostname sshd[4862]: Accepted password for root from 123.456.789.000 port 62934 ssh2
Apr  5 12:00:45 hostname sshd[4862]: pam_unix(sshd:session): session opened for user root by (uid=0)
Apr  5 12:00:45 hostname sshd[4862]: Starting session: shell on pts/1 for root from 123.456.789.000 port 62934

これで取得できる情報は、

  • 接続したリモートのIPアドレス from 123.456.789.000
  • ログインしたユーザー session opened for user root
  • 接続ポート port 6293
  • フィンガープリント 18:9d:f4:07:f1:12:49:1e:d6:64:81:4f:bd:2d:41:21

などなどです。

フィンガープリント

ssh-keygen -l -f /home/ユーザ名/.ssh/authorized_keys

で見れるので照らし合わせて確認します。面倒なのでスクリプト作った方がいいかもです。


鍵認証のサーバで「いつ」「誰が」「どの鍵で」ログインしたかを調べる方法