OS X Keychain continue de me demander ma phrase secrète SSH même si je la sauvegarde (OS X 10.6.8) [dupliquer]


20

Chaque fois que je me connecte à un serveur distant avec SSH, le trousseau OS X me demande de me souvenir de la phrase secrète SSH. Je tape la phrase secrète et coche la case pour m'en souvenir. Je me connecte ensuite correctement au serveur, mais la prochaine fois, je suis de nouveau invité et ainsi de suite ...

J'ai une clé privée pour ssh dans mon serveur et la connexion fonctionne. Dans mon fichier d'hôtes, j'ai:

Host myhost
    HostName xxx.xxx.xxx.xx
    GlobalKnownHostsFile ~/.ssh/known_hosts
    port 22
    User myuser
    IdentityFile ~/.ssh/mykey_dsa
    IdentitiesOnly yes

.. puis je tape ssh myhost

Ce n'est qu'un problème récent, donc je suspecte et un problème avec le trousseau? Pour être clair, je peux `` rajouter '' au trousseau à chaque fois et me connecter, mais cela dégrade le but. Les autorisations sur ma clé dsa sont définies sur 600 ou-rw-------@

J'ai essayé de réparer les autorisations de disque mais cela n'a pas servi. Mon Google-foo me fait également défaut, rien d'utile n'est venu. Je ne sais donc pas si c'est un problème OS X / trousseau ou un problème SSH.

mise à jour: lorsque j'essaie ssh -vvv myhost, je pense que cela révèle le problème:

debug1: Trying private key: /Users/danny/.ssh/mykey_dsa
debug1: PEM_read_PrivateKey failed
debug1: read PEM private key done: type <unknown>
debug3: Not a RSA1 key file /Users/danny/.ssh/mykey_dsa.
debug1: read PEM private key done: type DSA
Identity added: /Users/danny/.ssh/mykey_dsa (/Users/danny/.ssh/mykey_dsa)
debug1: read PEM private key done: type DSA
debug3: sign_and_send_pubkey
debug2: we sent a publickey packet, wait for reply
debug1: Authentication succeeded (publickey).

... et après ça je me connecte. Je pense que ce nœud de la question est:

PEM_read_PrivateKey failed

Mise à jour 2: Après avoir essayé la même clé et les mêmes paramètres sur un autre Mac avec 10.6.8, tout a bien fonctionné, donc je pense que c'est une question spécifique à Mac, peut-être un problème de trousseau d'autorisations.

Mise à jour 3 J'ai également essayé une nouvelle installation de Mountain Lion (10.8.1) et hélas le même problème que je n'ai absolument pas.

Peut-être lié: https://discussions.apple.com/thread/3518441?start=0&tstart=0

Update 4 C'est la réponse


1
Essayez ssh -v[v] myserverd'obtenir des informations détaillées sur l'erreur.

@ansi_lumen J'ai essayé ssh -vvv et affiché les résultats ci-dessus. Je pense que le problème est, PEM_read_PrivateKey failedmais je ne sais pas pourquoi, j'ai généré cette clé comme toutes les autres qui sont ajoutées au trousseau et y restent.
Danny Englander


2
ssh-add -Kréparé pour moi
orkoden

Réponses:


13

Réponse copiée depuis /apple//a/26252/17690


Assurez-vous d'avoir un correspondant id_rsa.pubou id_dsa.pubdans votre ~/.sshrépertoire.

Quand j'avais un id_rsamais pas un correspondant id_rsa.pub, Mac OS X continuait à faire apparaître la boîte de dialogue et rappelez-vous que passowrd dans mon trousseau n'a rien fait.

cd ~/.ssh
ssh-keygen -y -f id_rsa > id_rsa.pub

généré le fichier de clé publique approprié pour moi.

Si vous y aviez déjà votre fichier public (renommez-le sous un autre nom) et générez à nouveau la clé publique à l'aide de la commande ci-dessus, vous remarquerez que le fichier généré et l'ancien ne sont pas égaux. D'une manière ou d'une autre, les anciennes versions de Mac OS X généraient une clé publique que Lion n'aime plus, la générer à nouveau corrige cela.

Pour les curieux, la clé est exactement la même, la partie qui change est qu'il n'y a plus de section "commentaires" après la clé dans le fichier.


Cela m'a aidé à arriver à mi-chemin, mais je collais également dans une clé privée, et ce n'était pas divisé sur l'espace blanc, c'était tout sur une seule ligne. Après avoir résolu cela, le même problème que OP avait, a été résolu.
Cameron Gagnon
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.