24 votes

ssh -A n'active pas correctement le transfert de la connexion de l'agent d'authentification

J'aime ssh -A qui me permet d'utiliser ma clé ssh locale lorsque j'établis une connexion à partir d'un serveur distant. Par exemple, je ssh -A host1.example.com et ensuite, à partir de là, je peux ssh host2.example.com (ou utiliser git) et il utilise ma clé ssh de la machine d'origine, qui dans ce cas-ci devrait être mon mac. Bien que cela ait toujours fonctionné pour moi sur Debian/Ubuntu, cela ne fonctionne pas sur mon nouveau mac (Lion).

Qu'est-ce que je rate ici ? Comment puis-je configurer ssh pour qu'il fonctionne correctement avec -A ? Ai-je besoin d'un ssh qui n'est pas le ssh standard de MacOS ?

41voto

rfay Points 729

En fait, la réponse très simple est que vous devez exécuter

ssh-add

et ensuite tout fonctionne.

En fait, MacOS a déjà configuré ssh-agent pour vous, mais après chaque redémarrage, vous devez y ajouter vos clés. ssh-add donne à ssh-agent l'accès à vos clés pour le cycle de démarrage actuel. Vous devrez entrer le mot de passe de votre clé privée si vous en avez créé une.

1 votes

Cela a résolu mon dernier problème de transfert ssh après la mise à niveau vers MacOS (après 5 ans, la réponse est toujours utile, merci @rfay).

1 votes

Cela fonctionne, mais une explication du pourquoi serait utile/aiderait les gens à se souvenir de cette commande.

2 votes

@AdamParkin a ajouté un autre paragraphe expliquant.

3voto

Greg Points 7391

Depuis OS X 10.8, vous devez effectuer cette opération une seule fois :

sudo touch /var/db/useLS

Et ajoutez ceci comme une partie de votre ~/.bash_profile :

if [ -f ~/.ssh/id_rsa ]; then
    ssh-add -K ~/.ssh/id_rsa 2>/dev/null
fi

Note : cette recette fait partie de mon bédouin scripts.

0 votes

Hm, je viens d'essayer ; l'agent démarre, mais il faut toujours ssh-add pour que tout fonctionne. Donc ssh-add seul est toujours la solution, d'après ce que je comprends. Je suppose que je devrais l'ajouter à mon .bash_profile.

0 votes

Lol, et si ma clé privée a besoin d'une phrase de passe ?

1 votes

Comme indiqué dans cette réponse, si votre clé nécessite une phrase de passe, la fonction -K stockera la phrase de passe de votre clé dans votre trousseau.

1voto

Florian Feldhaus Points 157

Le concept qui sous-tend ssh -A sont des agents ssh. Ils fonctionnent en arrière-plan et, grâce à l'utilisation de variables d'environnement, l'agent peut être localisé et automatiquement utilisé pour l'authentification lors de la connexion à d'autres machines à l'aide de ssh. Jetez un coup d'oeil à la page de manuel de ssh-agent pour plus de détails.

Avec Mac OS X, le ssh-agent doit être lancé à la demande.

Pour plus d'informations, voir :

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X