2014-11-25 13 views
21

Geringfügig ausgedrückt ist die Implementierung der Schlüsselbehandlung mit (Tortoise) Git für Windows ... verwirrend. Soweit ich das verstanden habe, können Sie entweder mit ssh.exe (Git's eigenes ssh-Programm) implementieren, wo Sie dann einen ssh-Schlüssel pro Host in Ihrem ssh_config im 'gefälschten' Home-Verzeichnis auswählen können. Richtig, das ist wirklich nicht anwendbar, weil ich mehrere Bitbucket accounts habe, verschiedene Schlüssel benutze, aber den gleichen Host.Pageant weigert sich, den mit GitBash erzeugten SSH-2-Schlüssel zu laden

Dann gibt es eine Möglichkeit, TortoiseGitPlink zu verwenden. Sie richten im Grunde einen Festzug mit einem von Putty generierten Schlüssel ein und lassen TortoiseGit diesen verwenden (Umgebungsvariable SSH_GIT eingestellt auf Ihre TortoiseGitPlink.exe).

Jetzt meine Frage ist die folgende: Ich habe gerade einen ssh2 Schlüssel (Typ RSA) mit Standardoptionen mit ssh-keygen -t rsa -f ~/.ssh/rsa_key Befehl in GitBash erstellt. Ich versuchte, diese Datei in pageant.exe zu laden, indem ich ihre GUI benutzte. Ich habe den Fehler: Couldn't load this key (OpenSSH-SSH-2 private key).

Was ist das Problem mit diesem Schlüssel? In GitBash sollte es alle gängigen OpenSSH-Richtlinien einhalten. Kann der Pageant nicht damit umgehen? Ich habe gehört oder gelernt, dass es Unterschiede in Schlüssel und OpenSSH-Schlüssel gibt. Ich vermute stark, dass das Verbindungsproblem zu meinem GIT-Repo aufgrund meiner falsch zusammengestellten SSH-Schlüssel sein wird. Kann jemand bitte mit mir darüber reden? Vielen Dank.

Antwort

41

Der Pageant kann nur Schlüssel im PuTTY-Format (.ppk) laden.

Wenn Sie einen Schlüssel in einem anderen Format zu laden versuchen, immer noch von PuTTY Tool erkannt, erhalten Sie die Fehlermeldung erwähnt:

Couldn't load this key (OpenSSH-SSH-2 private key)

Sie müssen use the PuTTYgen to convert the key vom OpenSSH-Format in das PuTTY Format. Wenn der Pageant das Dateiformat erkennt, kann PuTTYgen es konvertieren.

  • Run PuTTYgen;
  • Drücken Sie Laden Sie, um den privaten Schlüssel im OpenSSH-Format zu laden;
  • Drücken Sie Speichern Sie den privaten Schlüssel, um den privaten Schlüssel in .ppk Format zu speichern;
  • Jetzt können Sie den privaten Schlüssel in .ppk Format zu Pageant laden.

Oder noch einfacher, die PuTTYgen verwenden einen Schlüssel direkt im PuTTY Format zu erstellen, anstatt die ssh-keygen zu verwenden.


Siehe PuTTY Wunschliste aus Gründen es seinen eigenen Schlüssel Format hat:
https://www.chiark.greenend.org.uk/~sgtatham/putty/wishlist/key-formats.html

Bitte beachte, dass ich glaube, es gibt keinen Standard für die SSH-2 private Schlüssel-Dateiformat.

+10

Brilliant. Etwas off-topic, aber dieses Problem tritt auch mit SourceTree auf. Ich bin hier von https://confluence.atlassian.com/display/BITBUCKET/Set+up+SSH+for+Git gelandet. Von SourceTree können Sie _Tools_> _Create oder Import SSH Keys_> _Load_ verwenden, um Ihren privaten SSH-2-Schlüssel zu importieren und ihn als .ppk zu exportieren, indem Sie die _Speichern Private Key_ Schaltfläche verwenden (dies ist das von Martin erwähnte PuTTY Key Generator Tool). Ich habe immer noch einige Probleme mit der Benutzeroberfläche, aber ich kann zumindest Commit über die Befehlszeile nun folgen diese Schritte https://confluence.atlassian.com/pages/viewpage.action?pageId=302811860 –

+0

http: // www .cnx-software.com/2012/07/20/how-use-putty-mit-einem-ssh-private-key-generated-by-openssh/ –

+5

Endlich ...! Ich musste nur das PuTTY-Schlüsselgenerator-Programm öffnen, auf "importieren" klicken und dann auf "privaten Schlüssel speichern" klicken. Das ist alles was ich wissen musste. Danke, dass du den Hinweis gegeben hast, dass die Datei konvertiert werden muss! – vsync

4

PuTTY nicht verstehen, die id_rsa privaten Schlüssel, wenn es um diesen Fehler zeigt: enter image description here

Sie müssen den privaten Schlüssel zu einem .ppk (Private Key-Format) konvertieren.

  1. öffnet PuTTY Key Generator (Start-> Suche 'puttygen')
  2. Sie die RSA privaten Schlüssel zu importieren. Öffnen Sie dazu das Menü 'Conversions'> 'Schlüssel importieren'. enter image description here
  3. Wählen Sie den zu konvertierenden privaten RSA-Schlüssel aus. enter image description here
  4. Klicken Sie auf "Save private key". Beachten Sie, dass Sie es auch in einem anderen Format speichern könnten. enter image description here
  5. dann als 'id_rsa.pkk' speichern enter image description here
  6. öffnen Pageant - PuTTY Authentifizierungsagent (falls nicht bereits geöffnet ist) enter image description here
  7. Klicken Sie auf "Add Key"
  8. Wählen Sie converveted privaten Schlüssel. enter image description here
  9. Wie Sie sehen können, erkennen PuTTY es jetzt in der "Pageant Key List". enter image description here