Re: debfr-backup
Le 3 févr. 04, à 00:26, Yves Rutschle a écrit :
On Mon, Feb 02, 2004 at 08:24:21PM +0100, seb wrote:
ssh-add
Tiens, je le connais pas celui là. La page man est plutôt
succinte, il sert à quoi?
On reprend depuis le debut :-)
Avec ssh, tu as entre autres deux moyen d'authentification :
_ un mot de passe associé à ton compte
_ authentification par paire de clef publique/prive
Pour le deuxième moyen, il faut mettre dans le repertoire .ssh du compte
de destination ta clef publique, dans un fichier a peu pres nomme
authorized_keys.
La securite de ce deuxième moyen repose sur l'association unique entre
la clef prive et
la clef publique. Toute personne te chippant ta clef privée pourra s'en
servir
pour se faire passer pour toi (par exemple pour toutes les connexions
ssh vers des comptes
ou tu avais mis ta clef publique dans le fichier autthorized_keys).
Cette ressource etant critique, Mr ssh a donc decide de la chiffrer, a
l'aide d'un mot de passe (passphrase),
différent du mot de passe associé à un compte. (chiffrage symetrique).
Pendant la phase d'authentification par paire de clefs lors d'une
connexion ssh, le client ssh a besoin
d'utiliser la clef privee faire des betises (encodage) que seule la
clef publique sur le serveur ou reside le compte
sur lequel tu veux te connecter pourra decoder. (chiffrement
assymetrique).
Comme ta clef est chiffre (passphrase), ssh te demande de rentrer cette
passphrase pour pouvoir dechiffrer la clef.
Tu ne rentres donc pas dans ce cas le mot de passe associé avec le
compte distant, mais le mot de passe
servant au dechiffrage de ta clef.
Maintenant, il y a des moyens de mettre en memoire la version dechiffre
de la clef privee, de telle maniere
que les programmes clients de la suite ssh ne te demandent pas
systematiquement la passphrase.
Ce programme s'appelle ssh-agent. Tu le lances, et il reste resident en
memoire.
Pour qu'il soit accessible, deux variables d'environnement
SSH_AGENT_PID et SSH_AUTH_SOCK sont
definies au lancement de ssh-agent.
Les programmes clients (ssh,scp, sftp) vont donc utiliser ces variables
pour essayer de contacter un ssh-agent
qui aurais memorise une version dechiffre de la clef prive.
Et ssh-add dans tout cela ? Il sert justement a rajouter dans un
ssh-agent en cours de fonctionnement la version dechiffre
d'une clef.
J'espere que c'est clair.
Juste une petite couche pour faire avancer encore un peu plus :
si tu ouvres un nouveau shell et que tu veux utiliser un ssh-agent
lance a partir d'un shell precedent,
il te faut redefinir les deux variables SSH_AGENT_PID et SSH_AUTH_SOCK.
Fastidieux non ? Heureusement, le programme keychain (originaire de
chez gentoo) fait cela.
(http://www.gentoo.org/proj/en/keychain.xml), et apt-get pour
l'installer bien sur.
Pierre
Reply to: