SSHログインをメールで通知する

複数人でサーバを管理していると、誰がいつサーバにログインしたかを管理したくなってくる。というわけでSSHでログインしたときにメールで通知するようにしてみた。仕組みとしてはsshrcに通知スクリプトを仕込むという簡単な物

/etc/ssh/sshrc

echo "\"$USER\" has logged in from $SSH_CLIENT at `date` " | mail -s "SSH LOGIN INFO" 通知先アドレス

sshdが登録する環境変数は以下のとおり

変数名 内容
$SSH_CLIENT 接続元IPアドレス
$SSH_TTY 利用しているttyの名前
$USER ログインユーザ名

sshrcで任意のスクリプトが実行できるので、ログイン情報をDBなりなんなりに突っ込むとかも可能。管理台数が増えたときはそっちにしたほうが良さそうです。