Ubuntuのログイン時間を知りたい

表題の通り。とある複数人がアクセスするサーバに、SSHでログインした時間等を取得したい。単なるメモである。

■ 環境

  • Ubuntu 16.04

■ auth.log

どうやら`/var/log/auth.log`に記載されるようである。例えば下記のような感じのログが取得できる。

Mar 28 19:10:44 ip-XX-XX-XX-XX sshd[9284]: Accepted publickey for ubuntu from XX.XX.XX.XX port 43794 ssh2: RSA SHA256:XXxx0XxXXXXXXXX
Mar 28 19:10:51 ip-XX-XX-XX-XX sshd[9242]: Received disconnect from XX.XX.XX.XX port 43794:11: disconnected by user

ここから取得できそうである。

from XX.XX.XX.XX“のように記載されるIPと”port XXXXX“で一致したものが一つの接続と捉えることができそうだ。

このログ自体は`logrotate`の下記のファイルでrotateしてくれている。

/etc/logrotate.d/rsyslog

下記設定が適用されている。

{
     rotate 4
     weekly
     missingok
     notifempty
     compress
     delaycompress
     sharedscripts
     postrotate
          invoke-rc.d rsyslog rotate > /dev/null
     endscript
}

以上。