E-Mail & Pushover bei neuer SSH Verbindung senden

Michael Harperscheidt
2020-02-17 09:57

Da ich gerene gerne eine Information darüber haben möchte wann ser wer auf meinen Server per SSH verbindet, habe ich folgendes auf meinem Server eingerichtet.

Folgende Datei anlegen
/etc/ssh/login_info.sh

#!/bin/sh
if [ "$PAM_TYPE" != "open_session" ]
then
        exit 0
else
        {
                echo "User: $PAM_USER"
                echo "Remote Host: $PAM_RHOST"
                echo "Service: $PAM_SERVICE"
                echo "TTY: $PAM_TTY"
                echo "Date: ´date´"
                echo "Server: ´uname -a´"
        } | mail -a 'From:_ABSENDER-ADRESSE_' -s "$PAM_SERVICE login on ´hostname´ for account $PAM_USER" _EMPFÄNGER-ADRESSE_
        curl -s \
                -F "token=_PUSHOVER-TOKEN_" \
                -F "user=_PUSHOVER-USER_" \
                -F "message=Login auf: ´hostname´ Datum: ´date´ User: ´$PAM_USER´" \
                https://api.pushover.net/1/messages.json
# End Login Alert


fi
exit 0

Damit das Skript bei einem erfolgreichen Login ausgeführt wird, muss die Datei /etc/pam.d/sshd angepasst werden. Es muss folgendes am Ende hinzugefügt werden.

[...]
 
# Send notification mail on login
session optional pam_exec.so seteuid /etc/ssh/login_info.sh

Zum Schluss muss das Skript noch ausführbar gemacht werden.

$ sudo chmod 755 /etc/ssh/login_info.sh
Tags: email, Puschover, ssh
Durchschnittliche Bewertung: 0 (0 Abstimmungen)

Kommentieren nicht möglich