2013-09-07 12 views
5

Es gibt viele gute Anweisungen zur Arbeit mit Git unter Windows mit GitBash.SSH authentifizierte Git Zugriff auf Windows-Eingabeaufforderung?

Ich bemerke, dass, wenn git installiert ist, bietet es die Option "eingerichtet für die Verwendung von Git von der Windows-Eingabeaufforderung", die git auf den Windows-Pfad setzt.

Gibt es eine Möglichkeit, dies einzurichten, so dass die SSH-Authentifizierung funktioniert?

Im Moment bekomme ich "Berechtigung verweigert (publickey)", wenn ich versuche, git Befehle zu tun, die auf die Fernbedienung zugreifen.

(bearbeiten) Ich habe% HOME% so eingestellt, dass es auf mein Windows Home-Verzeichnis zeigt, und dort ist ein .ssh-Ordner mit ID-Dateien, die unter einer Git-Bash-Shell funktionieren.

Ich schätze, dass die Antwort wahrscheinlich ist "Nein, das ist, warum GitBash existiert". Aber - es wäre gut, das sicher zu wissen.

Wenn die Antwort "nein" ist, fragt man sich, warum man sich die Mühe macht, git auf den Windows-Pfad zu stellen?

+0

Ich verstehe Ihre Frage nicht? Warum sollte es nicht gut sein, 'git' im Windows-Pfad zu haben?Sie möchten den gesamten Pfad zu Git jedes Mal eingeben, wenn Sie Änderungen vornehmen? – PeeHaa

+1

Ich denke, dieser Punkt ist ein Neben der Hauptfrage. Ich dachte, wenn Sie gitbash verwenden müssen, um Befehle auszuführen, die mit ssh auf das Repository zugreifen (was mein aktuelles Problem ist), dann bedeutet das, dass Sie die ganze Zeit über GitHash verwenden und nicht eine Windows-Konsole. Ansonsten scheint es, dass Sie etwas Git Arbeit in der Windows-Befehlszeile und andere in Gitbash (was ich versuche zu vermeiden). – GreenAsJade

Antwort

3

SSH-Zugriff funktioniert gut aus einer normalen DOS-Sitzung.
Sie müssen nur C:\Users\YourAccount\.ssh definieren und Ihre id_rsa und id_rsa.pub dort hinzufügen.

Starten Sie Ihre Git Sitzung über git-cmd.bat, die %HOME% zu Ihrem C:\Users\YourAccount definieren: das ist, was ssh Arbeit machen wird.

Dies sollte Ihre msysgit/bin-Installation in Ihrem Pfad setzen.

Ich empfehle wirklich nicht durch eine msi Installation (Microsoft Installer), sondern durch ein einfaches Entpacken eines Archivs (portable version "PortableGit-x.y.z-preview201ymmdd.7z")

Und die OP GreenAsJade ‚s comment weist darauf hin, dass GIT_SSH-plink.exe zeigen muss .

+0

Danke für Ihre Antwort! Es ist großartig zu wissen, dass dies funktionieren sollte. Ich habe einen .ssh-Ordner in meinem Home-Verzeichnis, und es hat id_rsa und id_rsa.pub-Dateien drin. Diese funktionieren, wenn ich git in gitbash shell verwende. Ich habe% HOME% so eingestellt, dass es auf mein Home-Verzeichnis zeigt, aber trotzdem geben git-Befehle "permission denied (public key)". Irgendwelche anderen Ideen? Beachten Sie, dass in der gitbash-Shell ein Bashrc und ein ssh-Agent erforderlich sind. Ich frage mich, ob dies für die Windows-Eingabeaufforderung fehlt? – GreenAsJade

+0

@GreenAsJade Ja, aber siehst du '% HOME%' definiert? Was gibt eine Menge "HOME" in Ihrer DOS-Sitzung zurück? Wenn Sie 'git-cmd.bat' ausgeführt haben, sollte' HOME' korrekt gesetzt sein und '% HOME%/.ssh' sollte existieren. – VonC

+0

@GreenAsJade für den Agenten: http://StackOverflow.com/A/10169412/6309 – VonC

-2

Nun, vielleicht habe ich einen Prozess, der zu funktionieren scheint.

Wenn Sie während der Generierung der Schlüssel eine Passphrase verwenden, müssen Sie diese Passphrase nach dem Laden eines ssh-agents eingeben und den Schlüssel dem Agenten hinzufügen.

Grundsätzlich ist die Lösung: den Anweisungen auf dieser Seite folgen:

https://confluence.atlassian.com/bitbucket/set-up-ssh-for-git-728138079.html

ABER, bei der Erzeugung des Schlüssels TYPE Sie kein Passwort.

Offensichtlich ist es aus Sicherheitsgründen "schwächer".

Aber das .bashrc-Skript wird wie erwartet funktionieren (Laden der Identität auf Git Bash Start).

Sie können dann das Skript "start-ssh-agent.cmd" verwenden, das sich im Ordner Git \ cmd befindet. Es öffnet sich eine DOS-Eingabeaufforderung mit der geladenen Identität und alles wird funktionieren!

Verwandte Themen