Content-type: text/html Man page of SSH-AGENT

SSH-AGENT

Section: User Commands (1)
Index Return to Main Contents

BSD mandoc
 

NOM

ssh-agent - agent d'authentification  

SYNOPSIS

ssh-agent [-c | s ] [-d ] [-a bind_address ] [-t life ] [command [arg ... ] ]
ssh-agent [-c | s ] -k  

DESCRIPTION

ssh-agent est un programme qui conserve les clefs privées utilisées lors de l'authentification par clef publique (RSA, DSA, ECDSA). L'idée est que ssh-agent se lance au début d'une session X ou d'une session login et que toutes les autres fenêtres ou tous les autres programmes sont démarrés en tant que client du programme ssh-agent. Grâce à des variables d'environnement, l'agent peut être trouvé et être utilisé pour l'authentification lors de la connexion à d'autres machines avec ssh(1).

Les options sont les suivantes :

-a bind_address
Branche l'agent sur la socket UNIX bind_address Par défaut $TMPDIR/ssh-XXXXXXXXXX/agent.<ppid>
-c
Génère des commandes C-shell sur stdout C'est le comportement par défaut si SHELL ressemble à un shell de type csh.
-d
Mode débogage. Avec cette option ssh-agent ne forke pas.
-k
Tue l'agent en cours (fourni par la variable d'environnement SSH_AGENT_PID).
-s
Génère des commandes Bourne shell sur stdout C'est le comportement par défaut si SHELL ne ressemble pas à un shell de type csh.
-t life
Règle la valeur par défaut pour la durée de vie maximale des identités ajoutées à l'agent. La durée peut être spéficiée en secondes ou dans le format spécifié dans sshd_config5. Une durée de vie spécifiée pour une identité avec ssh-add1 outrepasse cette valeur. Sans cette option, la durée de vie maximale n'a pas de limite.

Si une ligne de commande est fournie, elle est exécutée comme sous-processus de l'agent. Lorsque la commande se termine, l'agent aussi.

Au départ, l'agent n'a pas de clefs privées. Les clefs sont ajoutées à l'aide de ssh-add1. Quand ssh-add1 est exécuté sans argument, il ajoute les fichiers ~/.ssh/id_rsa ~/.ssh/id_dsa ~/.ssh/id_ecdsa et ~/.ssh/identity Si l'identité a une phrase de passe, ssh-add1 demande cette phrase sur le terminal s'il y en a un ou à l'aide d'un petit programme X11 lorsqu'il est exécuté sous X11. Si ce n'est ni l'un ni l'autre, alors l'authentification échoue. Il envoie ensuite l'identité à l'agent. Plusieurs identités peuvent être stockées dans l'agent; ce dernier peut utiliser automatiquement une de ces identités. ssh-add -l affiche les identités contenues dans l'agent.

L'idée étant que l'agent est exécuté sur le PC, l'ordinateur portable ou le terminal de l'utilisateur. L'authentification n'a pas besoin d'être stockée sur une autre machine, et les phrases de passe de l'authentification ne circulent jamais sur le réseau. Cependant, la connexion à l'agent est transmise par des connexions distantes SSH et l'utilisateur peut donc utiliser les privilèges accordés par les identités n'importe où sur le réseau de manière sécurisée.

Il y a deux façons de démarrer un agent : La première, c'est que l'agent démarre une nouvelle sous-commande dans laquelle plusieurs variables d'environnement sont exportées, par exemple ssh-agent xterm & La seconde, c'est que l'agent affiche les commandes shell nécessaires (avec une syntaxe sh(1) ou csh(1)) qui peuvent être évaluées dans le shell appelant, par exemple eval `ssh-agent -s` pour des shells de type Bourne comme sh(1) ou ksh(1) et eval `ssh-agent -c` pour csh(1) et ses dérivés.

Ensuite, ssh(1) consulte ces variables et les utilise pour établir la connexion à l'agent.

L'agent n'envoie jamais la clef privée dans le canal de la requête. Les opérations qui nécessitent la clef privée sont traitées par l'agent et le résultat est retourné au demandeur. De cette manière, les clefs privées ne sont pas exposées aux clients par l'agent.

Une socket UNIX est créée et le nom de cette socket est stockée dans la variable d'environnement SSH_AUTH_SOCK La socket est accessible uniquement à son utilisateur. Cette méthode est facilement contournée par root ou toute autre instance du même utilisateur.

La variable d'environnement SSH_AGENT_PID contient l'identifiant du processus de l'agent.

L'agent sort automatiquement lorsque la commande fournie sur la ligne de commandes se termine.  

FICHIERS

~/.ssh/identity
Contient l'identité RSA d'authentification de l'utilisateur pour la version 1 du protocole.
~/.ssh/id_dsa
Contient l'identité DSA d'authentification de l'utilisateur pour la version 2 du protocole.
~/.ssh/id_ecdsa
Contient l'identité ECDSA d'authentification de l'utilisateur pour la version 2 du protocole.
~/.ssh/id_rsa
Contient l'identité RSA d'authentification de l'utilisateur pour la version 2 du protocole.
$TMPDIR/ssh-XXXXXXXXXX/agent.<ppid>
Sockets UNIX pour la connexion à l'agent d'authentification. Ces sockets ne doivent être lisibles que par leur propriétaire. Elle sont automatiquement supprimées lorsque l'agent se termine.

 

VOIR AUSSI

ssh(1), ssh-add1, ssh-keygen1, sshd(8)  

AUTEURS

OpenSSH est dérivé de la version originale et libre de ssh 1.2.12 de Tatu Ylonen. Aaron Campbell, Bob Beck, Markus Friedl, Niels Provos, Theo de Raadt et Dug Song ont supprimé plusieurs bugs, ajouté des nouvelles fonctionnalités et ont créé OpenSSH. Markus Friedl a contribué au support des protocoles versions 1.5 et 2.0 de SSH.


 

Index

NOM
SYNOPSIS
DESCRIPTION
FICHIERS
VOIR AUSSI
AUTEURS

This document was created by man2html, using the manual pages.
Time: 20:12:50 GMT, August 07, 2011