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
quelle
ssh -v[v] myserver
, detaillierte Informationen zu dem Fehler zu erhalten.PEM_read_PrivateKey failed
aber ich weiß nicht warum, ich habe diesen Schlüssel wie alle meine anderen generiert, die zum Schlüsselbund hinzugefügt werden und dort bleiben.ssh-add -K
Antworten:
Antwort von /apple//a/26252/17690 kopiert
Stellen Sie sicher, dass Sie ein entsprechendes
id_rsa.pub
oderid_dsa.pub
in Ihrem~/.ssh
Verzeichnis haben.Wenn ich eine,
id_rsa
aber keine Entsprechung hatteid_rsa.pub
, öffnete Mac OS X immer wieder den Dialog und erinnerte sich, dass passowrd in meinem Schlüsselbund nichts tat.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.
quelle