Contenu d’approfondissement.

Un agent est un programme qui garde les clés en mémoire et qui fournit les services d’authentification aux clients SSH. Si l’utilisateur pré-charge un agent avec les clés privées au début d’une session de connexion, ses clients SSH ne lui demanderont plus sa phrase d’authentification: ils communiqueront à la place avec l’agent selon leurs besoins. Les effets de l’agent durent jusqu’à ce que l’utilisateur y mette fin. Les clients ssh communiquent avec l’agent via l’environnement du processus: tous les clients (et tous les autres processus) de la session auront accès à l’agent en utilisant la variable d’environnement SSH_AUTH_SOCK.

Le lancement de l’agent et l’ajout de clés privées devant être prises en charge par ce dernier sont gérés de manière transparente dans les environnements graphiques récents. Seule une saisie unique de la phrase d’authentification reste requise à la première demande de connexion ssh. Cependant, tout peut également se faire manuellement avec des commandes. L’agent se lance, par exemple, avec la commande ssh-agent $SHELL et invoque le shell indiqué comme processus fils. Dorénavant, les commandes seront lancées dans le nouveau shell, qui a accès à l’agent. Ensuite, la commande ssh-add charge la clef du fichier d’identité par défaut. Pour charger une autre clef que l’identité par défaut, il faut ajouter en premier argument à ssh-add le nom du fichier contenant la clef. Les environnements graphiques ne font qu’automatiser l’appel à ces commandes. De plus, il est possible de visualiser les clefs que l’agent contient à un instant donné en utilisant l’option -l de ssh-add et pour ôter une clef, c’est l’option -d.  
 
Retour à la page de cours