Mot de passe SSH mémorisé dans MacOSX Snow Leopard

8

Je fais face à une situation très étrange avec Snow Leopard. J'ai un serveur Linux, configuré pour accepter une connexion ssh authentifiée uniquement via la clé RSA. Pas de mot de passe. Sur mon ordinateur portable, j'ai correctement déployé la clé RSA avec ssh-keygen, et pendant que je le faisais, j'ai ajouté une phrase secrète. J'ai ensuite déplacé le id_rsa.pub sur le serveur Linux .ssh / authorized_keys.

Jusqu'ici tout va bien. Maintenant, j'essaie depuis mon ordinateur portable Snow Leopard de me connecter sur la machine Linux. Je reçois une fenêtre contextuelle me demandant la phrase secrète. C'est la première chose qui me surprend, car je m'attendais à une demande de phrase secrète du shell, pas à une fenêtre contextuelle. L'application demandant la phrase secrète est ssh, selon les détails de cette fenêtre contextuelle. En outre, il existe une option "mémoriser la phrase dans le trousseau", qui est désactivée.

J'entre mon mot de passe. Le popup disparaît et le terminal se connecte correctement à la machine Linux. Maintenant, si je me déconnecte et essaie à nouveau de ssh, la connexion se produit sans aucune demande de phrase secrète, ce qui n'est pas ce que je veux.

Choses que j'ai vérifiées:

  • rien n'est enregistré dans le trousseau. Navigué et n'a rien trouvé.
  • si je ferme / quitte le terminal et en ouvre un nouveau, on ne me demande toujours pas la phrase secrète et le ssh se connecte sans aucune demande.
  • si je me déconnecte de la session MacOSX et me reconnecte, la phrase secrète est demandée à la prochaine tentative, à nouveau avec une boîte de dialogue contextuelle. Alors ce n'est plus demandé.

Où est stockée la phrase secrète? que se passe-t-il exactement et comment puis-je forcer la demande de la phrase secrète à chaque tentative ssh?

Stefano Borini
la source

Réponses:

10

OS X lancera automatiquement ssh-agent pour vous lorsqu'il aura besoin de votre clé privée. Votre clé sera alors disponible via ssh-agent (sans ressaisir votre mot de passe) jusqu'à ce que vous vous déconnectiez d'OS X ou supprimiez la clé (via ssh-add -dou ssh-add -Dpour supprimer toutes les clés).

Ceci est similaire au comportement standard du système NIX * avec ssh-agent, et permet à des fonctionnalités utiles comme le transfert d'authentification d'agent ( ssh -A) de fonctionner, vous n'avez donc pas à mettre votre clé privée sur tout le réseau.


Si vous souhaitez désactiver ssh-agent (pour tous les utilisateurs de votre Mac), vous pouvez supprimer le fichier /System/Library/LaunchAgents/org.openbsd.ssh-agent.plist


Une autre façon consiste à décharger et désactiver le LaunchAgent:

sudo launchctl -w /System/Library/LaunchAgents/org.openbsd.ssh-agent.plist

Le -wfait non seulement le décharger, mais le marquer et le mémoriser comme désactivé.

voretaq7
la source