Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Utilite de ssh-agent ?

2 réponses
Avatar
mpg
Bonjour,

Ma question est sans doute stupide, mais je n'arrive pas à bien saisir à quoi
sert ssh-agent. Actuellement pour les connections régulières en ssh, j'utilise
des paires de clés, et pour ne pas avoir à saisir de mot de passe, je n'ai pas
protégé ma clé privée par une passphrase, elle est juste portégées par les
droits (600) du système de fichier. Je me dis quand même par fois que
peut-être que ce n'est pas bien, que peut-être ce n'est pas pour rien que
ssh-agent existe, mais enfin je ne comprends pas trop son utilité.

J'attends donc vos lumières, en, en attendant, vous explique comment je crois
comprendre la situation. Pour fixer les idées, on va dire que je me connecte de
A vers B.

Actuellement, pour pouvoir ouvrir une connection ssh de A vers B, il faut et il
suffit de pouvoir lire ma clé sur A, c'est-à-dire d'être moi ou root sur A.
Donc B est compromis dès que A ou mon compte sur A est compromis.

En utilisant ssh-agent (et une clé prottégée par passphrase du coup), d'après ce
que j'en ai compris, la passphrase m'est demandée une fois au moment du ssh-add
(donc en gros une fois par session). À partir de là, d'après ce que je lis ici
http://www.unixwiz.net/techtips/ssh-agent-forwarding.html#sec
accéder à la clé (décryptée) revient à accéder un certain fichier
comme /tmp/ssh-machin/agent.pid, protégé par des droits 600 (de même que le
répertoire qui le contient (enfin 700)).

Si on part donc de l'hypothèse (réaliste dans mon cas) que je suis loggé sur A
(donc avec un ssh-agent qui tourne et la clé décryptée) à peu près en
permanence, la condition pour pouvoir être moi sur B est exactement la même que
précédemment : être moi ou root sur la machine A. Je ne vois donc pas trop le
gain de sécurité apporté par ssh-agent. Je suis ouvert à toute explication s'il
y a un truc qui m'a échappé.

(Si je n'étais loggé qu'épisodiquement sur A, on est d'accord qu'en mon absence,
pour se connecter en tant que moi sur B, il faudrait lire le fichier de clé
*et* trouver la passphrase, d'où un gros gain de sécurité.)

Par ailleurs, dans l'hypothèse où je passerai à l'utilisation d'une clé avec
passphrase, quelle est en fait la différence entre un mot de passe et un
passphrase ? Si je choisis habituellement des mots de passe de 8 caractères
(avec casse variée, chiffres, et autres caractères), est-ce que je peux choisir
ma passphrase selon les même critères ?

Autre question pendant qu'on en est à la gestion des clés ssh : si j'ai, mettons
3 machines que j'utilise en me connectant régulièrement de l'une à l'autre
(dans tous les sens) par clé, vaut-il mieux avoir trois clés privées (une par
machine) ou bien est-ce équivalent d'avoir la même clé sur les trois ?

Merci d'avance,
Manuel.

PS : publication croisée sur fcs et fcolc (car il s'agit de comptes sur des
machines linux, il y a peut-être des éléments spécifiques), suivi sur fcs.

2 réponses

Avatar
Nicolas George
mpg wrote in message <faaj0a$bqe$:
Si on part donc de l'hypothèse (réaliste dans mon cas) que je suis loggé sur A
(donc avec un ssh-agent qui tourne et la clé décryptée) à peu près en
permanence, la condition pour pouvoir être moi sur B est exactement la
même que précédemment : être moi ou root sur la machine A. Je ne vois donc
pas trop le gain de sécurité apporté par ssh-agent. Je suis ouvert à toute
explication s'il y a un truc qui m'a échappé.


Oui, le gain de sécurité dans ce cas est assez faible. Mais on peut citer le
cas où on te volerait la machine alors qu'elle est éteinte. Et même si
fondamentalement ce n'est pas de la sécurité, il est un peu plus difficile
d'extraire la clef de ssh-agent qu'un simple cp.

D'autre part, ssh-agent a un avantage qui n'est pas de sécurité mais de
pratique, c'est le forward (optionnel) de l'agent : si tu es logué sur A
avec un agent, et que tu te logues sur B, alors l'agent de A est aussi
disponible sur B. Ça permet (1) de faire ensuite un SSH de B à C en
utilisant les clefs chargées sur l'agent, et (2) de faire un ssh-add d'une
clef qui se trouve sur B, et l'utiliser ensuite depuis A, ou depuis C, ou...

Avatar
mpg
Bonjour,

Et tout d'abord oups, car je me rends comptes que j'ai laissé passé une semaine
sans te remercier pour ta réponse...

Le (on) lundi 20 août 2007 02:25, Nicolas George a écrit (wrote) :

mpg wrote in message <faaj0a$bqe$:
Si on part donc de l'hypothèse (réaliste dans mon cas) que je suis loggé sur
A (donc avec un ssh-agent qui tourne et la clé décryptée) à peu près en
permanence, la condition pour pouvoir être moi sur B est exactement la
même que précédemment : être moi ou root sur la machine A. Je ne vois donc
pas trop le gain de sécurité apporté par ssh-agent. Je suis ouvert à toute
explication s'il y a un truc qui m'a échappé.


Oui, le gain de sécurité dans ce cas est assez faible. Mais on peut citer le
cas où on te volerait la machine alors qu'elle est éteinte.


Vu qu'une des machines est un portable, ce n'est fondamentalement pas impossible
du tout.

Et même si
fondamentalement ce n'est pas de la sécurité, il est un peu plus difficile
d'extraire la clef de ssh-agent qu'un simple cp.

Je ne savais même pas que c'était possible. Je pensais plutôt à la stratégie

suivante de la part de l'agresseur : se connecter à la machine distante via mon
agent tant qu'il marche, et autoriser une nouvelle clé sur la machine distante
pour son usage personnel. C'est sans doute un peu plus visible sur le principe,
mais après tout je ne vérifie pas tous les jours...

D'autre part, ssh-agent a un avantage qui n'est pas de sécurité mais de
pratique, c'est le forward (optionnel) de l'agent : si tu es logué sur A
avec un agent, et que tu te logues sur B, alors l'agent de A est aussi
disponible sur B. Ça permet (1) de faire ensuite un SSH de B à C en
utilisant les clefs chargées sur l'agent, et (2) de faire un ssh-add d'une
clef qui se trouve sur B, et l'utiliser ensuite depuis A, ou depuis C, ou...


Ah oui, ça c'est bien pratique en fait. Ça m'évite même de laisser une clé sur
certaines machines qui ne servent que de passerelle. Bon, pour l'instant ça ne
marche pas chez moi®, mais pour ça ji'rai sur un autre groupe quand j'aurai
vraiment envie que ça marche.

Merci pour ta réponse,
Manuel.