Enviar email na conexão SSH OpenWrt

1

Existe uma maneira de enviar um email quando alguém se conecta via SSH (ou LuCI)? Estou configurando meu roteador para logar em uma unidade flash, então eu acho que eu poderia grep os logs ou, eventualmente, olhar para as conexões periodicamente com:

netstat -ntu | grep 22

mas isso parece mais do que desajeitado. Posso usar: cat /proc/net/nf_conntrack de alguma forma?

    
por rainkinz 05.09.2014 / 15:35

1 resposta

2

Normalmente, seria uma boa ideia fazer isso via PAM, mas você está em um roteador ...
Você poderia colocar algo como

echo 'Root Shell Access | mail -s "Root Shell Access" [email protected]

em .bashrc ou /etc/profile , mas, novamente, isso é acionado toda vez que você acessa o shell de roteadores.

Melhor ainda, modifique ou crie / etc / ssh / sshrc com o seguinte conteúdo:

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 &

Isso irá efetivamente notificá-lo por e-mail sempre que alguém fizer login através do SSH, e o login será registrado no syslog.

Note: You'll need the 'sendemail' package for the email notification to work.

Note: works with port forwarding, but with -N option not.

Fonte

    
por 05.09.2014 / 17:37

Tags