[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: