Passer au contenu principal

Recevoir un e-mail lors d'une connection SSH

Création du script

Évidemment, il faut que le serveur soit en mesure d'envoyer des e-mails…
(Par exemple sudo apt install mailutils sur Debian Family.)

sudo vim /usr/local/bin/send-mail-on-ssh-login.sh

Remplacer <EMAIL_ADDRESS> par l'adresse de destination voulue.

#!/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 -s` for account $PAM_USER" <EMAIL_ADDRESS>
fi
exit 0

Rendre le script exécutable.

sudo chmod +x /usr/local/bin/send-mail-on-ssh-login.sh

Configurer le PAM (Pluggable Authentication Modules)

sudo vim /etc/pam.d/sshd
session    optional     pam_exec.so /usr/local/bin/send-mail-on-ssh-login.sh

Sources