wake-up-neo.net

git kann nicht richtig ssh finden

Wenn ich versuche, mich mit git zu verbinden, sehe ich diesen Fehler 

$ git clone [email protected]:MyCompany/eagle.git --verbose                                         
Cloning into 'eagle'...                                                                        
FATAL ERROR: Couldn't agree a key exchange algorithm (available: [email protected],ecdh-sh
a2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521)                                                   
fatal: Could not read from remote repository.                                                        

Please make sure you have the correct access rights                                                  
and the repository exists.

Ich habe alle Schlüssel usw. eingerichtet und die Verbindung funktioniert einwandfrei, denn wenn ich ssh -v [email protected] mache, ist die Verbindung erfolgreich.

Was kann ich tun, um zu verstehen, was schief gelaufen ist und was korrigiert werden sollte?

Vielen Dank,

9
Bill Lumbert

Wenn ssh -T [email protected] Ihnen Folgendes gibt:

Hi <name>! You've successfully authenticated, but GitHub
does not provide Shell access.

dies bedeutet, dass Ihr SSH-Setup funktioniert. Wenn Sie eine bekommen:

FATAL ERROR: Couldn't agree a key exchange algorithm ...

das bedeutet, dass Ihr SSH-Setup nicht funktioniert. Offensichtlich gibt es hier einen Widerspruch, und der wahrscheinlichste Schuldige ist, dass Sie zwei verschiedene ssh-Befehle installiert haben: einen, den Sie verwenden, der funktioniert, und einen, den Git verwendet, und der nicht.

Diese Antwort to Git mit SSH unter Windows hat viele Upvotes. Ich vermeide Windows, daher habe ich keine Ahnung, ob dies helfen wird. (Ich weiß nicht einmal, ob Sie Windows verwenden, da Sie es nicht erwähnt haben.)

Beachten Sie, dass Git Version 2.3.0 GIT_SSH_COMMAND hinzugefügt wurde, und Git Version 2.10.0 core.sshCommand hinzugefügt wurde, um einen Wert für GIT_SSH_COMMAND festzulegen. Seitdem hat Git Version 2.13.0 einige neue Tricks für den Umgang mit Problemen gelernt, die mit Variationen von ssh zusammenhängen, die verschiedene Optionsbuchstaben erfordern. In allen Fällen ist es wichtig herauszufinden, welches ssh Git läuft und ob es eines läuft, das tatsächlich funktioniert. In der Git-Dokumentation auf oberster Ebene finden Sie eine Beschreibung aller Optionsvariablen und ihrer Funktionen. Der Link hier führt zu einer Webseite, die möglicherweise nicht mit Ihrer eigenen Git-Version übereinstimmt. Sie sollten git --help git ausführen, um diese Version zu lesen, falls Ihr Git sehr alt ist.

5
torek

Für mich geschah dies aus folgenden Gründen:

  1. Ich hatte Git für die Verwendung von PuTTY konfiguriert (d. H. GIT_SSH=C:\Program Files\PuTTY\plink.exe).
  2. Ich hatte eine alte Version von PuTTY (z. B. 0,63).
  3. GitHub hat kürzlich schwache Kryptographiestandards entfernt .

Ich habe PuTTY 0.63 deinstalliert und heruntergeladen und die neueste Version von PuTTY (zur Zeit 0,70) installiert und damit das Problem für mich gelöst.

9
Fishizzle

das Problem war in GIT_SSH. Diese Variable wurde vor ... von PuTTY gesetzt .. Ich habe diese Env-Variable gelöscht und das Problem wurde gelöst

4
Bill Lumbert

Dies hat möglicherweise mit GitHub zu tun Entfernen schwacher Krypto . Dies geschah um den 22. Februar 2018.

1

Ich habe SourceTree verwendet, dann PuTTY, dann Open-SSH. Tatsächlich machte er ein Durcheinander und benutzte den mit SourceTree installierten PuTTY, als er den GIT_SSH-Wert der env-Variablen überprüfte. Das Löschen dieser env-Variablen war für die Verwendung von open-ssh erforderlich. (PuTTY nicht so verwenden)

Für Neulinge benutze ich dieses Snippet, um sich mit open-ssh zu "anmelden": eval $(ssh-agent -s) && ssh-add ~/.ssh/mySHHKey

EDIT: Ich habe mich gestern nicht erfolgreich verbunden, aber jetzt hörte es auf zu funktionieren ... In der Zwischenzeit mit Festzug mit PuTTY.

0
Ambroise Rabier