Ich bin unter einem Proxy und pushe schon seit geraumer Zeit erfolgreich in git.
Jetzt kann ich plötzlich nicht mehr in git pushen.
Ich habe den RSA-Schlüssel und den Proxy gesetzt und sie doppelt überprüft, jedoch ohne Erfolg, und git wirft mir den im Titel der Seite angezeigten Fehler aus.
Antworten
Zu viele Anzeigen?Der Hauptgrund war die Änderung des kürzlich von der Firma installierten Proxy, der andere SSH-Verbindungen als die zum Firmendomäne blockiert hat.
Ich konnte erfolgreich eine Verbindung herstellen, indem ich diese Schritte befolgt habe:
- Habe überprüft, ob das Problem wirklich das ist, was ich vermute, indem ich
ssh -T git@github.com
ausgeführt habe
Es sollte in einem Timeout enden.
- Habe die lokale Remote-URL bearbeitet, indem ich
ssh config --local -e
und von
url=git@github.com:asheeshjanghu/Journal.git
auf
url=https://github.com/asheeshjanghu/Journal.git
Der wichtige Punkt ist, dass in der URL an 2 Stellen Änderungen vorgenommen werden müssen.
Von git@
zu https://
und von github:Benutzername
zu github/Benutzername
Zum Schluss überprüfen, indem Sie ein git fetch
ausführen
Wenn Ihr ssh -T git@github.com
eine Verbindung herstellt und nicht abbricht, Sie jedoch immer noch den Fehler erhalten, wenn Sie versuchen, git commit
durchzuführen:
ssh: connect to host sign port 22: Operation timed out?
fatal: failed to write commit object:
Ich konnte das Problem beheben, indem ich gpgsign in .gitconfig deaktiviert habe.
[commit]
gpgsign = false
Ich verwende MacOS, nicht unter Proxy. Ich vermute, die vollständige Lösung besteht darin, neue gpg-Schlüssel zu generieren und neu zuzuweisen, aber ich habe schon Stunden damit verbracht, also vielleicht morgen.
Die obige Antwort hat mir die Informationen gegeben, die ich brauchte, um dieses Problem zu lösen. In meinem Fall begann die URL fälschlicherweise mit ssh:///
Um die URL in Ihrer Git-Konfiguration zu überprüfen, öffnen Sie die Git-Konfigurationsdatei:
git config --local -e
Überprüfen Sie den URL-Eintrag. Es sollte NICHT mit ssh:/// beginnen.
Falscher Eintrag:
url = ssh:///git@github.com:benutzername/repo.git
Richtiger Eintrag:
url = git@github.com:benutzername/repo.git
Wenn Ihre URL korrekt ist, ist der nächste Schritt der Versuch, die oben genannte Antwort anzuwenden, die eine Änderung des Protokolls auf http vorschlägt.