OS X Keychain fordert mich weiterhin zur Eingabe meiner SSH-Passphrase auf, obwohl ich sie speichere (OS X 10.6.8) [duplizieren]

20

Jedes Mal, wenn ich mich mit SSH bei einem Remoteserver anmelde, werde ich vom OS X-Schlüsselbund aufgefordert, die SSH-Passphrase zu speichern. Ich gebe die Passphrase ein und markiere das Kästchen, um sie mir zu merken. Ich verbinde mich dann ok mit dem Server, aber dann, wenn ich das nächste Mal wieder dazu aufgefordert werde und so weiter ...

Ich habe einen privaten Schlüssel für ssh auf meinem Server und die Verbindung funktioniert. In meiner Hosts-Datei habe ich:

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

.. und dann tippe ich ssh myhost

Dies ist nur ein vor kurzem aufgetretenes Problem. Vermute ich also, dass ich ein Problem mit dem Schlüsselbund habe? Um es klar zu sagen, ich kann den Schlüsselbund jedes Mal neu hinzufügen und eine Verbindung herstellen, aber dies macht den Zweck zunichte. Die Berechtigungen für meinen DSA-Schlüssel sind auf 600 oder festgelegt-rw-------@

Ich habe versucht, Festplattenberechtigungen zu reparieren, aber das hat nichts gebracht. Mein Google-foo versagt mir auch, nichts von Nutzen ist aufgetaucht. Ich bin mir also nicht sicher, ob dies ein Problem mit OS X / Schlüsselbund oder mit SSH ist.

update: Wenn ich ssh -vvv myhost versuche, wird das Problem offensichtlich:

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).

... und danach werde ich verbunden. Ich denke, das ist der springende Punkt:

PEM_read_PrivateKey failed

Update 2: Nachdem Sie denselben Schlüssel und dieselben Einstellungen auch auf einem anderen Mac mit 10.6.8 ausprobiert haben, hat alles einwandfrei funktioniert. Ich denke, dies ist eine Mac-spezifische Frage, möglicherweise ein Problem mit dem Berechtigungsschlüsselbund.

Update 3 Ich habe auch eine Neuinstallation von Mountain Lion (10.8.1) ausprobiert und leider das gleiche Problem, das ich überhaupt nicht bekomme.

Möglicherweise verwandt: https://discussions.apple.com/thread/3518441?start=0&tstart=0

Update 4 Das ist die Antwort

Danny Englander
quelle
1
Versuchen Sie ssh -v[v] myserver, detaillierte Informationen zu dem Fehler zu erhalten.
@ansi_lumen Ich habe ssh -vvv ausprobiert und die obigen Ergebnisse gepostet. Ich denke, das Problem ist, PEM_read_PrivateKey failedaber ich weiß nicht warum, ich habe diesen Schlüssel wie alle meine anderen generiert, die zum Schlüsselbund hinzugefügt werden und dort bleiben.
Danny Englander
1
Dies hat es für mich behoben
Danny Englander
2
ssh-add -K
repariert

Antworten:

13

Antwort von /apple//a/26252/17690 kopiert


Stellen Sie sicher, dass Sie ein entsprechendes id_rsa.puboder id_dsa.pubin Ihrem ~/.sshVerzeichnis haben.

Wenn ich eine, id_rsaaber keine Entsprechung hatte id_rsa.pub, öffnete Mac OS X immer wieder den Dialog und erinnerte sich, dass passowrd in meinem Schlüsselbund nichts tat.

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

hat die entsprechende öffentliche Schlüsseldatei für mich generiert.

Wenn Sie Ihre öffentliche Datei bereits dort hatten (in einen anderen Namen umbenennen) und den öffentlichen Schlüssel mit dem obigen Befehl erneut generieren, werden Sie feststellen, dass die generierte und die alte Datei nicht gleich sind. Irgendwie haben die älteren Versionen von Mac OS X einen öffentlichen Schlüssel generiert, den Lion nicht mehr mag, und durch das erneute Generieren wird dies behoben.

Für die Neugierigen ist der Schlüssel genau der gleiche, der Teil, der sich ändert, ist, dass es keinen "Kommentar" -Abschnitt mehr nach dem Schlüssel in der Datei gibt.

TalkLittle
quelle
Dies hat mir geholfen, auf halbem Weg dorthin zu gelangen, aber ich habe auch einen privaten Schlüssel eingefügt, und es wurde nicht in Leerzeichen aufgeteilt, sondern alles in einer Zeile. Nachdem dies behoben wurde, wurde das gleiche Problem behoben, das OP hatte.
Cameron Gagnon