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.

원천

관련 정보