Si vous gérez un serveur Linux et que vous souhaitez être alerté immédiatement lorsqu’un utilisateur se connecte via SSH, ce guide est fait pour vous. Nous allons voir comment envoyer des notifications directement sur Discord grâce à un script simple et efficace.
Pourquoi recevoir des notifications SSH sur Discord ?
Recevoir des notifications pour chaque connexion SSH présente plusieurs avantages :
- Sécurité renforcée : vous êtes alerté en temps réel des connexions sur votre serveur.
- Suivi des utilisateurs : vous identifiez facilement quel utilisateur s’est connecté et depuis quelle IP.
- Ping personnalisé : vous pouvez notifier un utilisateur Discord spécifique si nécessaire.
1) Créer un webhook Discord
Pour que Discord reçoive les notifications :
- Ouvrez Discord et accédez à votre serveur.
- Cliquez sur le nom du serveur → Paramètres du serveur → Intégrations → Webhooks.
- Créez un nouveau webhook ou utilisez un webhook existant.
- Copiez l’URL du webhook : elle sera utilisée dans le script pour envoyer les notifications.
2) Récupérer l’ID d’un utilisateur Discord (optionnel)
Si vous souhaitez notifier un utilisateur spécifique :
- Activez le Mode développeur dans Discord (Paramètres → Apparence → Mode développeur).
- Cliquez droit sur le pseudo de l’utilisateur → Copier l’identifiant.
- Collez cet ID dans la variable
$USER_PINGdu script.
Si vous ne souhaitez pas de ping, laissez cette variable vide.
3) Installer le script sur votre serveur
Créez le fichier :
sudo nano /usr/local/bin/ssh-notify.sh
Collez ce script (en remplaçant l’URL du webhook et l’ID utilisateur) :
#!/bin/bash
WEBHOOK_URL="VOTRE_WEBHOOK_ICI"
SITE="mataucarre.fr"
USER_PING="ID_UTILISATEUR"
if [ "$PAM_TYPE" != "open_session" ]; then
exit 0
fi
USER=$PAM_USER
IP=$PAM_RHOST
DATE=$(date '+%Y-%m-%d %H:%M:%S')
if [ -n "$USER_PING" ]; then
PING="<@$USER_PING>"
else
PING=""
fi
MESSAGE="# :bell: Nouvelle connexion SSH sur le serveur [$SITE] détectée !
**Utilisateur** : $USER
**IP** : $IP
**Date** : $DATE
$PING"
curl -H "Content-Type: application/json" \
-X POST \
-d "{\"content\": \"$MESSAGE\"}" \
$WEBHOOK_URL
Rendez le script exécutable :
sudo chmod +x /usr/local/bin/ssh-notify.sh
4) Configurer PAM pour SSH
Éditez le fichier PAM :
sudo nano /etc/pam.d/sshd
Ajoutez à la fin :
session optional pam_exec.so /usr/local/bin/ssh-notify.sh
5) Tester et sécuriser
- Connectez-vous via SSH depuis un autre terminal ou une autre machine.
- Vérifiez Discord : vous devriez recevoir le message avec l’utilisateur, l’IP, la date et éventuellement le ping.
Pour sécuriser le script :
sudo chown root:root /usr/local/bin/ssh-notify.sh
sudo chmod 700 /usr/local/bin/ssh-notify.sh
6) Résultat

Personnalisation
- Modifiez la variable
$SITEpour changer le nom affiché dans Discord. - Laissez
$USER_PINGvide si vous ne souhaitez pas notifier un utilisateur.
Le projet complet et le script sont disponibles sur GitHub : SSH Discord Notify
