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
