La suite SSH contient deux programmes permettant de gérer les clés d'authentification, permettant à l'utilisateur de se connecter sans saisir de mot de passe ou de phrase de passe. Ces programmes sont ssh-agent et ssh-add.
Dans la page de manuel de ssh-agent, nous pouvons lire : « ssh-agent2 est un programme pour conserver des clés privées d'authentification. L'idée est que ssh-agent2 est démarré au début d'une session X-Window ou d'une session de connexion terminal, et que tous les autres programmes ou fenêtres sont lancés en tant que processus fils de ssh-agent2 (la commande lance X ou l'interpréteur de commande interactif de l'utilisateur). Les programmes lancés par l'agent héritent de la connexion à l'agent, et l'agent est automatiquement utilisé pour l'authentification à clé publique lors de connexions à d'autres machines utilisant ssh. »
Il y a deux manières d'utiliser ssh-agent selon que vous utilisiez xdm ou non. Dans le premier cas, il vous faudra modifier votre fichier .xsession de votre répertoire utilisateur ($HOME). Deux procédures pour y arriver : copiez .xsession en .xsession.toto et mettez uniquement la ligne qui suit dans .xsession :
exec ssh-agent ./.xsession-toto |
Quittez votre session X et redémarrez-la. ssh-agent démarrera la session X en tant que processus fils unique et attendra les clés SSH à ajouter à sa base de données.
Si xdm ne tourne pas sur votre machine, la procédure est plus simple car vous n'aurez qu'à lancer votre session X en utilisant la commande :
ssh-agent startx |
Dès que ssh-agent est en place, vous pouvez ajouter des identités à sa base de données en utilisant la commande ssh-add. Vous ne pouvez ajouter ces identités que depuis des processus fils d'un ancêtre ssh-agent, sinon le message d'erreur suivant vous sera affiché : Failed to connect to authentication agent - agent not running ? L'utilisation de ssh-add est simple : lancez la commande suivante :
ssh-add |