Git für Windows installieren und SSH Keys nutzen

Ich benutze für die Installation die Aktuelle Preview Version von msysgit (Git-1.8.3-preview20130601.exe).

Da ich nur die Kommandozeilen Komponenten benötige, habe ich die „Windows Explorer integration“ abgewählt.

Setup1
Setup2

Hier verwende ich extra „Run Git and included Unix tools form Windows Command Promt“, damit ich Git in der Kommandozeile laufen lassen kann ohne den Pfad der Git Datei angeben zu müssen. Außerdem ist das der einzige Punkt, bei dem dann die SSH Authentifizierung vernünftig funktioniert.

Setup3

Ich benutze das von Git mitgelieferte OpenSSH.

Wir verwenden immer die „Unix-style line endings“. Dies kann man aber auch projektweise mit Hilfe einer .gitattributes definieren.

Setup4

Danach wird Git installiert und man kann es in der Windows cmd nutzen. Ich nutze es direkt in der IDE PHPStorm.

Um Git jetzt noch mit SSH Zertifikaten laufen zu lassen, müssen wir nur noch der Anleitung folgen, die ich hier nochmal kurz durchgehe.

Punkt 1: Überprüfen, ob schon SSH Keys exisitieren. Diese sollten unter C:\Users\<Benutzername>\.ssh zu finden sein und im Normalfall id_rsa und id_rsa.pub heißen.

Wenn schon welche existieren, kann Punkt 2 übersprungen werden.

Punkt 2: SSH Key erstellen, indem man in der Kommandozeile folgenden Befehl eingibt.

ssh-keygen -t rsa -C "your_email@example.com

Es sollte diese Meldung erscheinen:

Enter file in which to save the key (/c/Users/<Benutzername>/.ssh/id_rsa):

Diese mit Enter bestätigen. außer dort ist nicht der oben angegebene Pfad angegeben, dann diesen ändern in „C:\Users\<Benutzername>\.ssh\id_rsa“ und mit Enter bestätigen.

Dann wird noch nach einer „passphrase“ gefragt; hier bestätige ich einfach 2 mal.

Zum Schluss muss eine Meldung erscheinen, die lautet „The key fingerprint is: …“ dann sollte das Erstellen geklappt haben, wenn keine Fehlermeldung aufgetaucht ist.

Setup5

Hier noch ein Screenshot mit der cmd:

Punkt 3: Jetzt muss man noch den erstellten Key bei Github oder anderem Git dienst eintragen.

Dazu öffnet man die eben erstellte „C:\Users\<Benutzername>\.ssh\id_rsa.bup“ mit dem Winows Editor und kopiert den Inhalt der Datei eins zu eins bei Github in das Key Feld, welches erscheint, wenn man auf Add Keys klickt. Den Namen kann man leer lassen, da dieser automatisch eingetragen wird.

Punkt 4: Testen, ob der Key akzeptiert wird, macht man indem man nochmal die cmd öffnet und folgenden Befehl eingibt: ssh -T git@github.com

Wenn die Meldung „The authenticity of host ‚github.com (207.97.227.239)‘ can’t be established. RSA key fingerprint is 16:27:ac:a5:76:28:2d:36:63:1b:56:4d:eb:df:a6:48. Are you sure you want to continue connecting (yes/no)?“ erscheint einfach yes eingeben und bestätigen.

Setup6

Wenn alles geklappt hat, sollte eine Meldung wie im Screenshot erscheinen.

Damit kann mit Git mit SSH ohne Passworteingabe nutzen. Wichtig ist natürlich, dass man die Repros per SSH cloned und nicht per http.

Update 13.04.2015: Ich muss neuerdings die Umgebungsvariable set HOME=%HOMEDRIVE%%HOMEPATH% setzen damit ich mich über ssh authentifizieren kann. Die habe ich in den Windows Umgebungsvariablen bei meinem Benutzer gesetzt.


Kommentare

8 Antworten zu „Git für Windows installieren und SSH Keys nutzen“

  1. Danke, sehr gut verständlich. Hat mir sehr geholfen. 🙂

  2. Hab den Guide genau befolgt, leider ohne Erfolg. Bekomme immer die Fehlermeldung „Permission denied. (publickey)“
    Wollten den key von hand per ssh-add hinzufügen, was allerdings auch nicht geht. „Could not open a connection to your authentication agent.“

    Unterstützung wäre nett 🙂

    1. Okay mein Fehler, man sollte auch per SSH clonen und nicht per HTTPS 😉
      Danke für die gute Anleitung 🙂

  3. Hallo lieber Daniel,

    ich erfreue mich gerade daran, dass Du mir via „git bash ssh key“ in Google auf Platz 1 ins Auge gesprungen bist und ich durch das Lesen Deiner Anleitung einen Denkfehler auflösen konnte. Jetzt klappt’s wieder.

    Vielen Dank und herzliche Grüße,
    Annette

    1. Immer wieder gerne 😉

  4. […] Blog Post consists in huge parts of Daniel Hüskens awesome work, but I still had to rewrite it a bit as I tended to add some stuff on […]

  5. Avatar von Henning

    Puh, endlich klappt das… der Tipp mit dem HOME Verzeichnis hat mir geholfen, nachdem ich das auf das Verzeichnis gesetzt hatte, in dem mein .ssh Verzeichnis liegt, ging alles!

  6. vielen Dank – genau was ich gesucht habe. vg

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert