SSH ログインされたらメール通知する(Ubuntu 版)
先日、CentOS7 環境で SSH ログインされたらメール通知するという記事を書きました。Ubuntu 16.04.1 だと環境変数やパスの違いから若干、修正が必要だったのでメモしておきます。
apt-get で ssmtp を標準リポジトリからインストールします。/etc/ssmtp/ssmtp.conf の修正は CentOS7 と同じで OK です。
/etc/ssh/sshrc の内容だけ、以下のように微修正が必要でした。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 | #!/bin/sh
MAIL_TO=[通知先メールアドレス]
TIME=`/bin/date "+%Y/%m/%d %H:%M:%S"`
HOSTNAME=`/bin/hostname`
FROM_ADDR=`echo $SSH_CONNECTION | cut -d' ' -f1`
FROM_PORT=`echo $SSH_CONNECTION | cut -d' ' -f2`
FROM_ADDR_PORT=${FROM_ADDR}:${FROM_PORT}
TO_ADDR=`echo $SSH_CONNECTION | cut -d' ' -f3`
TO_PORT=`echo $SSH_CONNECTION | cut -d' ' -f4`
TO_ADDR_PORT=${TO_ADDR}:${TO_PORT}
echo -e "Time\t${TIME}\nHost\t${HOSTNAME}\nUser\t${USER}\nFrom\t${FROM_ADDR_PORT}\nTo\t${TO_ADDR_PORT}" | /usr/bin/mail -s "[SSH]${HOSTNAME}/${USER} (${TIME})" ${MAIL_TO}
|