3 votes

Problème avec ssh-agent et/ou le trousseau de clés sur Mac

Tl;dr : J'ai des identités dans le ssh-agent. Toutes sauf une sont utilisées ; une est ajoutée à l'agent et au trousseau lorsque je l'utilise, mais ensuite on me demande la phrase de passe encore et encore, comme si la clé n'était pas dans l'agent (et si elle ne l'était pas, comme si l'agent ne pouvait pas extraire la phrase de passe du trousseau).

Détails :

J'ai un certain nombre de clés SSH (RSA, protocole 2) pour lesquelles j'utilise un agent et je stocke les phrases de passe dans le trousseau.

Pour une (et une seule) de ces clés, et seulement récemment, SSH a commencé à ignorer l'identité dans l'agent. C'est-à-dire :

  • Je me connecte en utilisant la clé ( ssh -i keyfile user@host , IdentitiesOnly est vrai pour Host * )
  • OS X demande la phrase d'authentification ; je coche la case enregistrer dans le trousseau.
  • l'identité est implicitement ajoutée à l'agent, l'entrée du trousseau est ajoutée
  • Je ferme la connexion
  • Je me reconnecte
  • On me demande à nouveau la phrase d'authentification, comme si l'agent et/ou les entrées du trousseau n'existaient pas.

J'ai vérifié - L'entrée du trousseau est réglée sur "toujours autoriser" pour ssh, ssh-add et ssh-agent. - Les autorisations du fichier clé sont correctes. - L'identité est chargée dans l'agent. - La connexion fonctionne avec cet identifiant, à condition que je tape la phrase d'authentification à chaque fois.

Ce que j'ai essayé :

  • Suppression de toute l'entrée du trousseau, puis redémarrage de ssh. On m'a demandé la phrase de passe, je l'ai saisie, l'entrée dans le trousseau et l'identité dans l'agent ont été ajoutées ; la connexion a fonctionné, mais on m'a redemandé la prochaine fois.
  • Renommer le fichier clé lui-même. La nouvelle entrée du trousseau est créée, la connexion fonctionne, mais lors de la prochaine connexion, on me demande à nouveau la phrase d'authentification.
  • J'ai couru ssh-add -D suivi de ssh-add -k . J'ai vérifié que la clé incriminée figure parmi les identités ajoutées ; en principe, la communication entre l'agent et le trousseau semble donc fonctionner. Still pose à nouveau la question.

Cela ne se produit avec aucune de mes autres clés et la clé elle-même fonctionne pour SSH. Elle obtient également vraiment gênant car j'utilise des phrases de passe assez fortes pour les clés.

3voto

bbaassssiiee Points 1345

Vous ne devez pas utiliser l'argument "-i keyfile" une fois que l'identité est présente dans votre agent.

Essayez ceci :

ssh-add keyfile
ssh -v user@host

(Le v vous aidera à déboguer)

0voto

Suyash Mohan Points 131

Il s'est avéré que le problème venait du fait que j'avais trop d'identifiants dans mon agent. Normalement, ssh ignore l'identifiant -i une fois qu'il a des identités dans l'agent et utilise les identités dans l'agent à tour de rôle. Si vous avez plus de 5 identités, par exemple, les serveurs les rejetteront toutes et reviendront ensuite à l'utilisation de mots de passe parce qu'il y a eu trop d'essais infructueux.

Paramètres identitiesonly で、その host * fait passer ssh par l'option -i (ou identityfile で、その .ssh/config mais cherchera toujours dans l'agent si l'identité spécifiée est déjà déverrouillée, ce qui a permis de résoudre ce problème sous tous les angles.

0voto

Suivez le blog de Dave Dribin ( ssh-agent sur Mac OS X 10.5 (Leopard)

Vous devez exécuter la commande suivante :

ssh-add -k /path/to/your/private/key

Ensuite, vous vérifiez vos configurations via :

sh-add -L

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X