Quand je SSH dans OS X, je n'ai pas mon trousseau. Quand j'utilise Terminal, je fais

12

Pas

  1. Ouvrez PuTTY sur mon bureau Windows.
  2. SSH dans mon MacBook Pro.
  3. cd vers un clone github
  4. $ git push

Attendu

Everything up-to-date

Réel

Enter passphrase for key '/Users/whit537/.ssh/github':

Remarques

  • La clé github est répertoriée dans Accès au trousseau.
  • Je peux montrer sa phrase secrète dans Keychain Access.
  • Je peux utiliser cette phrase de passe avec succès à l'invite dans PuTTY.
  • J'obtiens le résultat attendu dans une fenêtre de terminal sur le MacBook.
  • uname -a: Darwin chad.whitacre 10.7.0 Darwin Kernel Version 10.7.0: Sat Jan 29 15:17:16 PST 2011; racine: xnu-1504.9.37 ~ 1 / RELEASE_I386 i386

Mises à jour

2011-04-12: J'ai découvert l' securityoutil via une question dans la barre latérale associée (je ne l'ai pas remarqué dans la liste des réponses possibles lors de la publication). J'ai essayé de courir security unlock-keychainmais j'obtiens le même résultat. Il semble qu'il devrait y avoir un moyen de le faire. En fait, il y a deux clés en question, et ce sont de longues phrases de passe, pas des mots de passe courts, et j'en ai besoin fréquemment pendant la journée. Je suis donc incité à aller au fond des choses.

2011-04-13: Cela semble prometteur . Je vois le /tmp/launch-*****/Listenersfichier sur le MacBook. La prochaine fois que je serai sur le PC, j'essaierai de configurer SSH_AUTH_SOCKma session PuTTY. Si cela fonctionne une fois, je verrai un .profilecrochet pour découvrir automatiquement la session de lancement en cours.

whit537
la source

Réponses:

18

Vous devriez pouvoir déverrouiller votre trousseau dans le terminal comme ceci:

security unlock-keychain -p <YourPassword> ~/Library/Keychains/login.keychain

Si vous ne souhaitez pas être invité à entrer le mot de passe, vous pouvez stocker le mot de passe dans un fichier, puis exécuter la commande comme ceci:

security unlock-keychain -p `cat ~/.file_with_your_password` ~/Library/Keychains/login.keychain

Veuillez noter que le stockage de votre mot de passe de trousseau dans un fichier présente des inconvénients liés à la sécurité, comme vous pouvez l'imaginer, vous devez donc décider par vous-même si c'est une option pour vous.

J'espère que ça aide

Besi
la source
3
"certains" en effet, ne pas mettre le mot de passe pour accéder à votre trousseau de clés en clair dans un fichier rend le tout inutile ...? Ensuite, vous pourriez également avoir le contenu protégé dans le trousseau en texte brut?
tml
... puis suivez cette réponse
techraf
3

Votre trousseau est lié à la connexion graphique d'OS X. Lorsque vous vous connectez à l'ordinateur localement, il ouvre votre trousseau. Terminal, avec bash en cours d'exécution, connaît votre trousseau.

Lorsque vous vous connectez à distance via PuTTY, votre trousseau n'est pas ouvert, et PuTTY et bash ne le savent pas - même si vous êtes également connecté localement. Le lien entre eux n'est tout simplement pas là.

Je suis donc désolé, mais lorsque vous vous connectez via PuTTY, vous êtes obligé de saisir le mot de passe.

C'est à moins que quelqu'un qui connaît les éléments internes du système de porte-clés OS X puisse trouver un moyen de mettre manuellement ce lien en place dans votre session connectée à PuTTY, mais cela me semble probablement plus de travail que de taper un mot de passe une fois dans un tandis que.

Majenko
la source
1
Ce sont de longues phrases de passe pour quelques clés que j'utilise fréquemment, j'ai donc une certaine incitation à découvrir le mécanisme de liaison dont vous parlez.
whit537
2

Comme je le décris dans cette réponse , vous devez également exécuter

eval `ssh-agent -s`

en plus de déverrouiller le trousseau.

orkoden
la source