La boîte de dialogue Mot de passe apparaît pour la clé privée SSH sans mot de passe.

3

J'ai installé ma clé privée SSH dans ~ / .ssh / id_rsa. Il y a pas de phrase secrète associée à la clé, cependant, chaque fois que je me connecte à un serveur SSH, une boîte de dialogue s'ouvre et me demande de saisir mon mot de passe pour accéder au fichier id_rsa.

Si j'annule la boîte de dialogue ou si je saisis une phrase secrète vide et que je clique sur OK, le terminal me demande une phrase secrète.

J'ai vérifié que la clé est valide et ne nécessite pas de mot de passe en se connectant avec la même clé via d'autres machines.

Quelque chose d'étrange à propos de ma configuration particulière est à l'origine du problème, mais je n'arrive pas à le comprendre. J'utilise actuellement OSX 10.7.1 mais le même problème se produisait avec OSX 10.6.8

JeremyT
la source
Avez-vous essayé de sélectionner "Mémoriser le mot de passe dans mon trousseau" dans le dialogue d'authentification?
Chris Page
Oui, j'ai essayé de cocher la case Mémoriser. J'ai également essayé d'utiliser un mot de passe vide, de cliquer sur OK et d'annuler simplement la boîte de dialogue. Mais tout cela semble aller de soi: il faudrait NE PAS demandez-moi une phrase secrète car il n'y a pas de phrase secrète associée à la clé. C'est une clé privée sans mot de passe.
JeremyT
Ah, je vois. S'il vous plaît déposer un rapport de bogue à developer.apple.com/bugreporter pour vous assurer que Apple sait que c'est un problème pour vous.
Chris Page
Dans mon cas, il s’est avéré que je eu mettre une phrase secrète sur la clé privée. Il y a si longtemps que j'avais oublié qu'il était encore dans le trousseau. Lorsque j'ai déplacé les fichiers sur une nouvelle machine, je ne pouvais pas comprendre pourquoi ils ne fonctionnaient pas. Heureusement, j'avais toujours la phrase secrète dans mes notes. D'oh!
Hew Wolff

Réponses:

2

J'ai eu le même problème. Cependant, lors de la génération d'une nouvelle clé privée sans mot de passe, utilisez la commande suivante:

ssh-keygen -b 1024 -t rsa -f id_rsa -P ""

Je n'ai plus vu l'invite du mot de passe.

De plus, ssh-add n'a pas pu ajouter l'ancienne clé, mais l'a ajoutée comme prévu.

J'ai généré l'ancienne clé sur Leopard en 2009, en utilisant la version d'OpenSSL que j'avais précédemment capturée, construite et installée à l'époque (ce Mac est mort, je ne peux donc pas me connecter et vérifier ce que j'utilisais). Quelque chose à propos de cette clé était incompatible avec les bibliothèques SSL natives de Lion.

J'ai sauvegardé mon ancienne clé. Si quelqu'un souhaite proposer des vérifications, afin d'identifier les propriétés spécifiques de la clé, laissez-moi ce qu'il faut vérifier et je ferai un rapport.

Un autre indice - j'ai remarqué que mon ancien fichier id_rsa.pub avait des attributs étendus. c'est-à-dire que les drapeaux d'autorisation ressemblent à ceci: r -------- @ au lieu de r --------

xattr -l id_rsa.pub.old

revenu:

com.macromates.caret: {
    column = 0;
    line = 1;
}

cruft laissé par TextMate. Je ne sais pas si le supprimer aurait résolu le problème sans que je doive remplacer la clé. Je pense que c'est peu probable.

Si vous (le futur lecteur) voyez la même chose, vous pouvez supprimer l'attribut étendu comme suit:

 xattr -d com.macromates.caret id_rsa.pub.old

Vous pouvez empêcher TextMate de les ajouter en quittant TextMate, puis en exécutant la commande suivante:

defaults write com.macromates.textmate OakDocumentDisableFSMetaData 1
marfarma
la source
Mon fichier d'origine n'avait aucune propriété étendue, mais il a été généré par putty-keygen sous Windows; Lorsque j'ai recréé une nouvelle paire de clés privée / publique sans phrase secrète, cela a fonctionné à merveille.
cori
1

Pour moi, j'ai constaté qu'un texte errant ou une imperfection dans le fichier de clés peut être à l'origine de cette invite. La dernière pour moi était la suivante:

-----BEGIN RSA PRIVATE KEY----- ... -----END RSA PRIVATE KEY-----

Remarquez l'espace supplémentaire là-bas. Cela provoquait l'apparition de cette invite de mot de passe bizarre sur cette clé sans mot de passe.

vcardillo
la source
0

Anciennes versions du ssh L’utilitaire vous demandera un mot de passe chaque fois qu’il ne pourra pas interpréter le fichier de clé. Si ssh demande une phrase secrète sur un fichier de clé qui n'est pas censé en avoir, cela signifie probablement que le fichier de clé est corrompu d'une manière ou d'une autre.

$ dd if=/dev/urandom of=randokey bs=1024 count=1
1+0 records in
1+0 records out
1024 bytes (1.0 kB) copied, 0.000380502 s, 2.7 MB/s
$ chmod 600 randokey
$ ssh -i randokey localhost
Enter passphrase for key 'randokey':

Les responsables d'OpenSSH ont amélioré ce comportement à un moment donné. La version de ssh MacOS High Sierra connaît la différence entre une clé chiffrée et une clé corrompue:

$ ssh -i randokey localhost
Load key "randokey": invalid format
Password: ^C

$ ssh -V
OpenSSH_7.6p1, LibreSSL 2.6.2
$ uname -a
Darwin [hostname] 17.4.0 Darwin Kernel Version 17.4.0: Sun Dec 17 09:19:54 PST 2017; root:xnu-4570.41.2~1/RELEASE_X86_64 x86_64
Kenster
la source