OpenWrtにSSH接続を介して電子メールを送信する

OpenWrtにSSH接続を介して電子メールを送信する

誰かが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.

源泉

関連情報