2016-04-05 8 views
0

Ich behalte die meisten meiner persönlichen Projekte auf BitBucket von Atlassian. Als natürliche Wahl verwende ich SourceTree App (ihr Produkt) als git GUI-Client unter Windows, und ich bin glücklich damit. Für Projekte, bei denen ssh Git verfügbar ist, bevorzuge ich ssh über https. SourceTree spielt sehr gut mit Projekten, die auf BitBucket gehostet werden. Obwohl es beide SSH-Agenten anbietet: OpenSSH oder PuTTY, ist seine Standardauswahl PuTTY/Plink (vielleicht weil PuTTY mehr Windows-vertraut ist).GitLab funktioniert nicht mit Schlüssel in Pageant geladen?

Kürzlich hat meine Einrichtung aufgefordert, einige Projekte auf einem eigenen Server zu hosten. Auf den ersten Blick ist es ein Git-Server mit GitLab Opensource. Ich kann SourceTree mit dem hier gehosteten Projekt unter Verwendung von https verwenden, aber wenn es um ssh geht, ist die einzige Wahl des SSH-Agenten OpenSSH. Der einzige Schlüsselpaar es (wenn nicht anders angegeben in config) verwenden würde, ist ~/.ssh/id_rsa.pub und ~/.ssh/id_rsa (befindet sich in %USERPROFILE%\.ssh\

ich versucht habe:

  • laden ~/.ssh/id_rsa in PuTTY Key Generator
  • es zu PuTTY konvertieren Dateiformat (.ppk)
  • laden .ppk in Pageant (Putty Authentifizierungsagent).

Obwohl der Schlüssel von Pageant geladen und im Speicher gehalten wird, ist die Verbindung mit dem Server die ganze Zeit fehlgeschlagen, z. git: fatal: Could not read from remote repository. Die einzige Möglichkeit, es zum Laufen zu bringen, besteht darin, ssh-agent und ssh-add zu starten (mit OpenSSH).

Da ich Pageant in der Regel im Hintergrund läuft, finde ich es bequemer zu verwenden (zB das Schlüsselwort zum Öffnen des privaten Schlüssels ist lang/komplex, und ich erinnere mich nicht daran, und es kann kopiert werden von KeePass, während im Falle von OpenSSH, cmd Konsole erlaubt mir nicht, es einzufügen, schade).

Gibt es trotzdem die ssh-Authentifizierung für GitLab über PuTTY statt OpenSSH gemacht?

Antwort

3

Haben Sie vor der Verwendung von plink eine Verbindung zum SSH-Server mit PuTTY hergestellt? Wenn kein Grund dafür sein könnte, dass plink die Verbindung zum Server verweigert, weil der ssh-Hostschlüssel noch nicht verifiziert ist. Ein anderer Grund könnte sein, dass der SSH-Server Chiffren benötigt, die von PuTTY nicht unterstützt werden. Sie können nur herausfinden, wenn Sie mit PuTTY mit der gleichen Version wie plink verbinden.

Verwenden Sie TortoiseGitPlink (von TortoiseGit), um dieses Problem zu umgehen, da es ein Meldungsfeld öffnet, das fragt, ob der Hostkey akzeptiert werden soll oder nicht.