webentwicklung-frage-antwort-db.com.de

So richten Sie Tortoisegit so ein, dass kein Kennwort mithilfe von ssh erforderlich ist

Ich habe Probleme, git/tortoisegit zu erhalten, um meinen mitgelieferten ssh-Schlüssel (erstellt mit PuttyGen) zu verwenden. In der Eingabeaufforderung bekomme ich einen permission denied-Fehler und in der TortoiseGit-Benutzeroberfläche werde ich zur Eingabe eines Kennworts aufgefordert. Ich habe this SO question ausprobiert, aber wie gesagt, ich habe mit PuttyGen erstellt, habe Pageant mit meinen Schlüsseln ausgeführt und bin für die Verwendung von TortoisePlink konfiguriert.

Ich fand dann this SO frage und versuchte, die ssh im git-Verzeichnis, den TortoisePlink in meinem TortoiseHG (für Bitbucket/Mercurial verwendet) zu verwenden, und hatte, wie gesagt, bereits das lokale versucht TortoisePlink in TortoiseGit.

Oh, und ich habe meinen PPK in meinem Git-Account eingerichtet, sowie im Git-> Remote-Bereich von TortoiseGit

Was fehlt mir?

18
Justin Pihony

Überprüfen Sie, was Ihre Origin-URL ist.

Klicken Sie mit der rechten Maustaste auf Ihren Projektordner TortoiseGit -> Settings -> Wählen Sie Git -> Remote und wählen Sie den Origin-Eintrag.

Stellen Sie sicher, dass die URL mit ssh:// beginnt und Ihr privater Schlüssel geladen ist.

Wenn die URL mit https:// beginnt, werden Sie jedes Mal nach Ihrem Kennwort gefragt.

Hoffe das hilft.

14
CGRobinson

Ich konnte diese Arbeit auch nicht mit Github/Tortoisegit machen. Die Verwendung von git von der Kommandozeile unter Linux hat gut funktioniert. Ich habe dann meinen Benutzernamen und mein Passwort wie hier beschrieben verwendet:

http://www.programmoria.com/2012/02/saving-tortoisegit-password.html

und anderswo. Es ist keine echte Lösung (Entschuldigung), aber eine Problemumgehung, die dasselbe bewirkt: automatische Authentifizierung, ohne dass Sie Ihren Benutzernamen/Ihr Kennwort eingeben müssen. Die _netrc-Datei ist so sicher/unsicher wie der private Schlüssel, der auch irgendwo auf Ihrem Computer gespeichert würde. Daher halte ich es für eine akzeptable Lösung. Kommentare dazu sind natürlich willkommen.

4
Sander P

Einige Git-Server sind etwas uninteressant (IMHO), wenn es um Authentifizierung geht. Zum Beispiel Github docs sagen Sie:

Alle Verbindungen müssen als "git" -Benutzer hergestellt werden.

Anstatt zu versuchen, sich mit ssh://<yourname>@github.com... zu verbinden, müssen Sie sich mit ssh://[email protected] verbinden.

Ich werde nicht mehr nach einem Passwort gefragt und TortoiseGit zeigt jetzt Success an, nachdem eine Push -Operation abgeschlossen wurde.

4
O. R. Mapper

Weiß Ihr Konto auf dem OpenSSH-Server, dass Sie mit Ihrem öffentlichen Schlüssel autorisiert werden sollten?

Laden Sie Ihren Schlüssel mit PuTTyGen. Ein schreibgeschützter Textbereich wird unter "Öffentlicher Schlüssel zum Einfügen in die OpenSSH-Authorized_keys-Datei" angezeigt. Kopieren Sie, was da drin ist.

SSH mit PuTTY in den SSH-Server. Öffnen Sie die ~/.ssh/authorized_keys-Datei mit einem Editor, fügen Sie den kopierten Text in eine neue Zeile ein und speichern Sie. Das Verzeichnis ~/.ssh ist möglicherweise noch nicht vorhanden. In diesem Fall müssen Sie mkdir ~/.ssh ausführen, bevor Sie die Datei bearbeiten.

1
Attila Szeremi

Ich hatte auch das gleiche Problem auf Version 1.8.4, dann habe ich meinen SSH-Client auf Plink umgestellt und es funktioniert jetzt einwandfrei. TortoiseGit-Einstellungen -> Netzwerk -> SSH-Client 

plink wird zusammen mit peagent und anderen Leckereien im Standard-PuTTY-Paket vertrieben

Anscheinend gibt es einen Fehler in bestimmten Versionen von TortoiseGit (insbesondere TortoisePlink) siehe diese Antwort

1
mzzzzb

Ich verwende git 2.7 und tortoisegit 1.8.16 Folgendes habe ich getan, um ein Passwort zu vermeiden, und es funktionierte für meinen Fall

Klicken Sie mit der rechten Maustaste auf den Projektordner TortoiseGit -> Settings . Wählen Sie Git -> Remote und wählen Sie den Origin-Eintrag . Ändern Sie die URL von https: // github ... in ssh: // git @ github ...

0
Tue

Mit Tortoise 2.2.0.0 müssen Sie einige Dinge tun. Auf der Remote-Registerkarte können Sie entweder den bereits vorhandenen http (s) Origin entfernen oder Sie müssen einen zweiten hinzufügen, indem Sie ssh: // verwenden und das Kontrollkästchen "Push Default" für den ssh aktivieren, damit Tortoise es für Push-Vorgänge verwendet standardmäßig (und das https Origin in meinem Fall für Pull).

Nur der SSH-Schlüssel muss den Schlüssel angeben. Wenn Sie dann Push drücken, sollte er standardmäßig Ihr neues SSH-Ziel als Ziel verwenden und nicht nach Ihrem Benutzernamen und Kennwort fragen.

Natürlich müssen Sie wissen, welcher Benutzer in Ihrer URL enthalten ist. In Visual Studio Team Services ist dies beispielsweise der Name des VSTS-Kontos (nicht der Kontoinhaber!). Möglicherweise benötigen Sie auch die Portnummer.

Das war alles, was ich zum Setup von Grund auf gemacht habe und es hat gut funktioniert.

0
Lukos