表題の通り。とある複数人がアクセスするサーバに、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
}
以上。