Hallo,
bisher habe ich immer nach dieser Anleitung auf Ubuntu 20.04 und 22.04 eine Benachrichtigung per Mail bei SSH Login eingestellt. Unter 24.04 funktioniert das nicht mehr. Hat sich hier was grundlegendes geändert?
E-Mail bei neuer SSH Verbindung senden
Installieren
Damit die Benachrichtigung funktioniert muss ein Tool zum Senden von E-Mails auf der Kommandozeile installiert sein. Unter Ubuntu Linux 16.04 liefert das Paket mailutils ein solches Tool. Falls das Paket noch nicht installiert ist kann es mit nachfolgendem Befehl installiert werden. Der Befehl sollte auch bei anderen auf Debian basierenden Linux Distributionen wie Raspbian funktionieren.
Konfigurieren
Nun muss noch ein Skript erstellt werden, welches eine E-Mail versendet. Ich nutze nachfolgendes Skript und speichere es als /etc/ssh/login_notification.sh ab. In dem Skript muss <receiver> durch die E-Mail-Adresse des Empfängers der Benachrichtigung ersetzt werden.
#!/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 -s "$PAM_SERVICE login on `hostname` for account $PAM_USER" <receiver>
fi
exit 0
Display More
Das Skript muss jetzt noch ausführbar gemacht werden.
Abschließend muss PAM noch so konfiguriert werden, dass bei einem erfolgreichen Login das gerade angelegte Skript ausgeführt wird. Dazu muss die Datei /etc/pam.d/sshd angepasst werden. Es muss folgendes ganz am Ende der Datei hinzugefügt werden.
| | |
| --- | --- |Datei /etc/pam.d/sshd
#Send notification mail on login
session optional pam_exec.so seteuid /etc/ssh/login_notification.sh
Nun wird bei jedem erfolgreichen Login eine E-Mail von root@host mit dem Titel „sshd login on <host> for account <user>“ und nachfolgendem Inhalt an den im Skript angegebenen Empfänger gesendet.