{{tag>Sécurité SSH}}
= SSH-Agent
ssh à Jean
Connexion avec ssh-agent pour
Connexion SSH, passphrase demandée qu'une seule fois
Lister les clefs connues
$ ssh-add -l
Could not open a connection to your authentication agent.
Communication avec l'agent impossible => soit il n'est pas chargé, soit il y a un problème.
Pour forcer sa fermeture
$ ssh-agent -k
SSH_AGENT_PID not set, cannot kill agent
Activation de l'agent ssh
$ eval $(ssh-agent -s)
Agent pid 10449
Pour lister les clefs chargées
$ ssh-add -l
The agent has no identities.
Pour charger la clef par défaut
$ ssh-add
Enter passphrase for /home/jibe/.ssh/id_dsa:
Identity added: /home/jibe/.ssh/id_dsa (/home/jibe/.ssh/id_dsa)
**!! Plus aucune passphrase vous sera demandé pour vous connecter !**
Plus vérouiller votre ssh-agent (plus de connexion sans passphrase)
$ ssh-add -x
Enter lock password:
Again:
Agent locked.
Pour déverrouiller
$ ssh-add -X
Enter lock password:
Agent unlocked.
On regardes les clefs chargées
$ ssh-add -l
1024 c7:7e:ab:f1:f9:ed:a4:d0:81:ee:6b:d1:3f:b4:4f:ca /home/jibe/.ssh/id_dsa (DSA)
Ajout d'une 2em clef :
$ ssh-add ~/.ssh/id_rsa_clef2
Identity added: /home/jibe/.ssh/id_rsa_clef2 (rsa w/o comment)
On regarde de nouveau les clefs chargées
$ ssh-add -l
1024 c7:7e:ab:f1:f9:ed:a4:d0:81:ee:6b:d1:3f:b4:4f:ca /home/jibe/.ssh/id_dsa (DSA)
768 c1:8d:5a:00:23:87:c7:2f:8a:e3:9d:88:15:9d:eb:4c rsa w/o comment (RSA)
Faire oublier toutes les clefs
$ ssh-add -D
All identities removed.
Fermer ssh-agent
$ eval $(ssh-agent -k)
Agent pid 10449 killed
Variables ''SSH_AGENT_PID'' et ''SSH_AUTH_SOCK'' pas exportées
''~/.bashrc''
if [[ -z $SSH_AGENT_PID ]]
then
SSH_AGENT_PID="$(pgrep -n ssh-agent)"
SSH_AUTH_SOCK="$(ls -1rt /tmp/ssh-*/agent.* |tail -1)"
export SSH_AGENT_PID
export SSH_AUTH_SOCK
fi
On tente de lister les clefs connues
$ ssh-add -l
Could not open a connection to your authentication agent
Pour ne saisir qu'une seule fois la passe-phrase à l'ouverture de la session console
''~/.bashrc''
ssh-add -l >/dev/null
if [[ $? -eq 1 ]]
then
ssh-add
fi
Exemple complète de conf
''~/.bash_rc''
pgrep ssh-agent >/dev/null
if [[ $? -eq 1 ]]
then
eval $(ssh-agent -s)
fi
if [[ -z $SSH_AGENT_PID ]]
then
SSH_AGENT_PID="$(pgrep -n ssh-agent)"
SSH_AUTH_SOCK="$(ls -1rt /tmp/ssh-*/agent.* |tail -1)"
export SSH_AGENT_PID
export SSH_AUTH_SOCK
fi
ssh-add -l >/dev/null
if [[ $? -eq 1 ]]
then
ssh-add
fi