it-swarm.com.de

sSH-Schlüssel zwischen Sourcetree und Github nicht funktionieren

Ich konnte einen Schlüssel erstellen und eine Verbindung zu github herstellen, indem ich diese Anweisungen über den Befehl Eingabeaufforderung erfolgreich ausführte:

https://help.github.com/articles/generating-ssh-keys

Wenn ich jedoch versuche, eine Verbindung über Sourcetree und PuTTY herzustellen, kann ich dies nicht. Ich habe es versucht:

  1. generieren eines neuen Schlüssels mit dem PuTTY-Schlüsselgenerator (SSH-2 RSA) 
  2. eingabe einer Passphrase
  3. speichern des privaten Schlüssels
  4. speichern des öffentlichen Schlüssels und Hinzufügen einer Erweiterung .pub
  5. kopieren/Einfügen des Schlüssels aus dem PuTTY-Schlüsselgeneratorfenster in Github
  6. versuch, Zweige nach einem Abruf aus meinem privaten Github-Repository aus meinem lokalen Repo mit der SSH-Klon-URL zu aktualisieren, die ich von Github erhielt

Ich habe auch versucht, den aus den github-Befehlszeilenanweisungen generierten Schlüssel zu öffnen, und er wollte, dass ich ihn in einen PuTTY-Schlüssel konvertiere, den ich gemacht und gespeichert habe. Auch kein Glück.

Was mache ich falsch? 

24
turbo2oh

Damit alles klappt, bin ich zu Tools -> Options -> SSH Client gegangen und habe es in OpenSSH geändert. Ich habe mehrere verschiedene Arten von Schlüsseln generiert und hochgeladen, um zu versuchen, sie auch zum Laufen zu bringen, aber ich denke, das war es, was es endlich geschafft hat.

46
turbo2oh

In meinem Fall musste ich zu einem git- oder ssh-basierten Repo-Pfad wechseln, anstatt zum https-basierten Repo-Pfad. Dies bewirkt, dass SourceTree zur SSH-basierten Authentifizierung wechselt. 

Diese Einstellung finden Sie unter Repository => Repository setting => Paths

Beispiel:

Korrigiere Repo-Pfade

[email protected]:<username>/<reponame>.git

oder

ssh://[email protected]/<username>/<reponame>.git

(Hinweis: Wenn Sie mit einem Repo arbeiten, das nicht Ihnen gehört, ersetzen Sie username durch organization name.)

Falscher Repo-Pfad

https://github.com/<username>/<reponame>.git

HTTPS-Repo-Pfade führen dazu, dass SourceTree besonders intelligent ist und spektakulär ausfällt. Sie werden aufgefordert, ein Dialogfeld mit einem Benutzernamen/Kennwort anzugeben, das bei aktivierter 2-Faktor-Authentifizierung niemals funktioniert.

21
DeepSpace101

Sie sollten in Betracht ziehen, von OpenSSH zu PuTTY/Plink zu wechseln und eingebettetes Git anstelle von Git zu verwenden, das vom Host-Betriebssystem bereitgestellt wird. Es ist etwas komplizierter, den ssh-agent unter Windows zu betreiben, als direkt aus SourceTree und PuttyGen zu klicken.

Wenn Sie das Terminal weiterhin verwenden möchten, um SSH zu konfigurieren und den ssh-agent zu starten, lesen Sie die beiden unteren Schritte.

Steps

1
Wojciech Fornal

Für Sourcetree unter MacOS musste ich von OAuth zur Standardauthentifizierung wechseln, "git" als Benutzernamen verwenden ( nicht mein GitHub-Benutzername), den SSH-Schlüssel generieren und in GitHub eingeben. Nur dann konnte ich ein GitHub-Repo über SSH in Sourcetree klonen.

0
brettlyman