Execution de commandes lors d'une connexion SSH
Extrait du man ssh
/etc/ssh/sshrc
Commands in this file are executed by ssh when the user logs in, just before the user’s shell (or command) is started. See the sshd(8) manual page for more information.
Exemple ici de fichier /etc/ssh/sshrc
pour l’envoi d’un mail d’alerte à l’administrateur:
DATE=$(date "+%d.%m.%Y--%Hh%Mm")
IP=$(echo $SSH_CONNECTION | awk '{print $1}')
REVERSE=$(dig -x $IP +short)
echo "Connexion de ${USER} sur ${HOSTNAME}
IP: ${IP}
ReverseDNS: ${REVERSE}
Date: ${DATE}
" | mail -s "Connexion de ${USER} sur ${HOSTNAME}" user@example.org
USER
et HOSTNAME
sont les variables d’environnement déjà existantes.
Il va de soit pour tout le monde qu’OpenSSH doit être sécurisé en authorisant UNIQUEMENT les authentifications par clé (et non pas par mot de passe)… Mais ceci est un autre sujet.