ssh-agent Le mecanisme de manipulation des cles

ssh-agent :

ssh-agent est un processus dont le double rôle est d'intercepter votre clé privée lorsque le programme ssh-add l'aura lue, puis de transmettre cette clé aux processus clients lorsque ceux-ci le demandent.

Avec les distributions actuelles, il y a de fortes chances que le demon tourne déja.
Si ce n'était pas le cas, il suffit de le lançer avec votre shell en argument.
L'idée étant d'ouvrir les sessions distantes en tant que fils de ce shell.

[toto@machine_a_toto ~]$ ssh-agent $SHELL

ssh-add :

L'agent ne contient pas de clé quand il démarre. On en ajoute à l'aide de la commande ssh-add

Exécuté sans argument, ssh-add ajoute les fichiers suivants:

  • $HOME/.ssh/id_rsa
  • $HOME/.ssh/id_dsa
  • $HOME/.ssh/identity

Si les identités sont protégées par mot de passe (passphrase), ssh-add le demandera.
Ensuite il envoie l'identité à l'agent qui pourra contenir plusieurs identités, et utiliser n'importe laquelle automatiquement.

[toto@machine_a_toto ~]$ ssh-add
Enter passphrase for /home/toto/.ssh/id_rsa:
Identity added: /home/toto/.ssh/id_rsa (/home/toto/.ssh/id_rsa)
On peut visualiser l'ensemble des clés chargées par l'agent :

[toto@machine_a_toto ~]$ ssh-add -l
1024 xx:xx:f2:e4:xx:a6:xx:94:xx:2d:ec:c1:xx:xx:xx:xx /home/toto/.ssh/id_rsa (RSA)

Pour un fonctionnement dans une session graphique, verifiez que le paquet openssh-askpass soit bien présent.