誰かがSSH(またはLuCI)を介して接続されているときに電子メールを送信する方法はありますか?フラッシュドライブにログインするようにルーターを設定しているので、ログを収集したり、定期的に接続を見ることができると思いました。
netstat -ntu | grep 22
しかし、それはただ薄暗い以上の気持ちを与えます。私は使用できる:cat /proc/net/nf_conntrack
何とかか。
答え1
通常、PAMを介してこれを行うことをお勧めしますが、ルーターにいる場合...
次のように入力できます。
echo 'Root Shell Access | mail -s "Root Shell Access" [email protected]
または、ルーターシェルにアクセスするたびに実行されます.bashrc
。/etc/profile
より良い方法は、次の内容で/etc/ssh/sshrcを変更または生成することです。
ip=`echo $SSH_CONNECTION | cut -d " " -f 1`
logger -t ssh-wrapper $USER login from $ip
echo "User $USER just logged in from $ip" | sendemail -q -u "SSH Login" -f "Originator <[email protected]>" -t "Your Name <[email protected]>" -s smtp.server.com &
これにより、誰かがSSH経由でログインするたびに電子メールで効果的に通知され、ログイン情報がシステムログに記録されます。
Note: You'll need the `sendemail` package for the email notification to work.
Note: works with port forwarding, but with -N option not.