Een weinig bekende functie van SSH (Secure SHell) is het bestand /etc/ssh/sshrc. Commando's die in dit shellscript staan worden uitgevoerd op het moment dat een gebruiker inlogt, nog voor zijn shell of commando gestart wordt. Je kunt dit ook instellen per gebruiker in het bestand ~/.ssh/rc in zijn home-directory. De ssh-server kijkt eerst of een rc-bestand in de home-directory van de gebruiker bestaat en voert het uit indien aanwezig. Indien het bestand niet bestaat, kijkt de server of een globale sshrc bestaat en zo ja, wordt die uitgevoerd.

Het sshrc-bestand kan gebruikt worden voor initialisatiecode, bijvoorbeeld om de home-directory van de gebruiker beschikbaar te maken in complexere netwerksetups. Maar je kunt dit ook gebruiken om de systeembeheerder te waarschuwen wanneer iemand via ssh inlogt. Dat kan bijvoorbeeld via een e-mail. Een voorbeeld van zo'n scriptje is het volgende:

HOST=`hostname -f`

[email protected]

DATE=`date -R`

IP="`echo $SSH_CONNECTION | awk '{print $1}'`"

REVERSE=`dig -x $IP +short`

echo "User $USER connected to $HOST

Date: $DATE

IP: $IP

Reverse DNS: $REVERSE

--

sshrc" | mail -s "[SSHRC] ssh login - [email protected]$HOST" $TO

Uiteraard kun je ook het IP-adres en de datum loggen naar een bestand. Dezelfde informatie kun je ook wel met de commando's last of lastlog krijgen, maar die gebruiken binaire bestanden. Wil je de ssh-verbindingen loggen in een tekstbestand, dan kan dat dus door de volgende regel aan /etc/ssh/sshrc toe te voegen:

echo "$USER $IP $REVERSE $$DATE" >> /var/log/ssh_connections.log

Bron: Techworld