通过 SSH 连接 OpenWrt 发送电子邮件

通过 SSH 连接 OpenWrt 发送电子邮件

当有人通过 SSH(或 LuCI)连接时,有没有办法发送电子邮件?我正在将路由器设置为登录到闪存驱动器,因此我想我可以 grep 日志或可能定期查看连接:

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,但每次您访问路由器 shell 时都会触发。

更好的是,使用以下内容修改或创建 /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.

来源

相关内容