Ich versuche, den GitHub-Client für Windows zum Laufen zu bringen. Ich bin auf einem Win 7 x64-Firmencomputer hinter einem Firmenproxy und einer Firewall. Nach verschiedenen anderen Beiträgen und dem Experimentieren mit mehreren Kombinationen von Umgebungsvariablen und Konfigurationsvariablen habe ich die einzige Möglichkeit gefunden, Klonen und Push-Updates zum Laufen zu bringen, indem ich die Umgebungsvariable HTTPS_PROXY verwende, einschließlich meiner vollständigen Benutzer-ID und meines Kennworts für die Unternehmensdomäne.
Dies ist aus Sicherheitsgründen nicht akzeptabel. Gibt es eine andere Möglichkeit, dies zum Laufen zu bringen?
Zusätzliche Bemerkungen:
Folgendes hat funktioniert:
- Fügen Sie eine Umgebungsvariable hinzu, die
HTTPS_PROXY
mit dem Wert aufgerufen wirdhttp://[domain]\[userid]:[password]@someproxy.mycorp.com:8080
Folgendes hat nicht funktioniert:
- Auslassen der Benutzer-ID und des Kennworts aus der
HTTPS_PROXY
Variablen - Verwenden einer Umgebungsvariablen namens
HTTP_PROXY
(noS
) - Hinzufügen der
http.proxy
Variablen zur globalen Konfigurationsdatei (.gitconfig
) - Hinzufügen der
https.proxy
Variablen zur globalen Konfigurationsdatei
In allen Fällen erkennt der GitHub- Client den Proxy immer noch nicht: Der Inhalt der Datei zeigt beim Start TheLog.txt
immer Folgendes an:
[time]|INFO|thread:4|GitHub.Helpers.StartupLogger|Proxy information: (None)
[time]|INFO|thread:4|GitHub.Helpers.StartupLogger|Couldn't fetch creds for proxy
Anschließend werden mehrere fehlgeschlagene Proxy-Authentifizierungsversuche ausgegeben, die alle darauf hinweisen, dass "Anmeldeinformationen fehlen".
quelle
Antworten:
Fügen Sie diese Einträge zu Ihrer '.gitconfig'-Datei in Ihrem Benutzerverzeichnis hinzu (gehen Sie zu% USERPROFILE%):
Und wenn Sie Ihr Passwort nicht im Klartext speichern möchten, würde ich einen lokalen Proxy-Forwarder wie CNTLM verwenden, mit dem Sie den gesamten Datenverkehr durch das Passwort leiten und die gehashten Passwörter speichern können.
Wenn es Ihnen egal ist, ob Ihr Passwort im Klartext vorliegt, fügen Sie im Gegensatz zur ursprünglichen Frage Folgendes hinzu:
quelle
127.0.0.1
anstatt verweisenlocalhost
. In Windows scheint localhost zuerst auf die IPv6-Adresse zu verweisen, die CNTLM nicht abhört. Daher wartet git bis zum Timeout (einige Minuten), bevor es zur IPv4-Adresse wechselt.Ich habe alles oben Genannte versucht - und es ist mir nicht gelungen. Das einzige, was mir geholfen hat, ist CNTLM - http://cntlm.sourceforge.net/ .
Installieren Sie es und führen Sie cntlm -H aus. Authentifizieren Sie sich dann beim Corp-Proxy, bearbeiten Sie die Datei cntlm.ini mit der Ausgabe von cntlm und starten Sie den Windows-Dienst neu. Aktualisieren Sie .gitconfig mit:
Jetzt führt cntlm die gesamte Authentifizierung durch und Sie können GitHub (und übrigens Dropbox) hinter dem Corp-Proxy verwenden. Zumindest bis zur nächsten Passwortänderung :) (dann mach nochmal cntlm -H Zeug)
quelle
Ich konnte GitHub Shell dazu bringen, mit unserem Corporate Proxy zusammenzuarbeiten. Ich starte die GitHub Shell und führe folgenden Befehl aus:
Ich möchte wirklich, dass die GUI auch funktioniert. Ich möchte jedoch keine globale Windows-Umgebungsvariable festlegen, die meine Anmeldeinformationen enthält.
Seltsamerweise kann der GitHub-GUI-Client zur Benutzerauthentifizierung eine Verbindung zu GitHub herstellen. Das einzige Problem besteht jedoch darin, Projekte von und in GitHub zu klonen, abzurufen und zu verschieben. Es scheint, dass das Problem bei der Implementierung von Git liegt. Ich konnte git so konfigurieren, dass es über unseren Proxy ausgeführt wird, ohne meine Anmeldeinformationen in die globalen Einstellungen von git aufzunehmen, und es wurden meine Anmeldeinformationen abgefragt, während Pull- oder Push-Anforderungen ausgeführt wurden. Aber das funktionierte nur in Git Shell.
quelle
Wenn Sie GitHub für Windows in einem Unternehmen verwenden, stehen die Chancen gut, dass Sie hinter einer großen, schlechten Unternehmens-Firewall / Proxy stehen. GitHub für Windows verfügt noch nicht über die Proxy-Parameter in seiner GUI zum Festlegen von Optionen.
Um GitHub für Windows für die Verwendung Ihres Unternehmensproxys zu konfigurieren, bearbeiten Sie die .gitconfig-Datei, die normalerweise unter C: \ Users \ .gitconfig oder C: \ Documents & Settings \ .gitconfig zu finden ist
Schließen Sie GitHub für Windows. Fügen Sie in .gitconfig einfach hinzu
[https] proxy = proxy.yourcompany.com:port
quelle
Ich bin auch auf dieses Problem gestoßen und habe versucht, mich auch ein wenig damit zu beschäftigen (zerlegte den Client).
Der Code, der die angezeigten Protokollnachrichten generiert, lautet wie folgt:
Dieser Block protokolliert also nur die Proxy-Informationen, die im IE eingerichtet wurden . Die Protokollmeldung scheint keinen Einfluss darauf zu haben, was wir in den Konfigurationsdateien oder Umgebungsvariablen eingerichtet haben.
quelle
Ich weiß nichts über Ihre Firewall, aber mein Campus verwendet Proxy
Benutzt du eine Git Gui? BEARBEITEN : Ich habe gerade bemerkt, dass Sie den Github-Client für Windows verwenden
Ich benutze Tortoisegit und es ist sehr einfach, den Proxy zu setzen. Klicken Sie einfach mit der rechten Maustaste auf eine beliebige Stelle, tortoisegit> network, aktivieren Sie den Proxyserver und legen Sie die Serveradresse, den Benutzernamen und das Kennwort fest. getan
Soweit ich mich erinnere, wird Tortoisegit auch mit Github sofort funktionieren.
quelle
Hier ist der Weg, um Proxy in Github zu setzen
Hier in meinem College haben wir keinen Benutzernamen und kein Passwort. Wenn also unsere College-IP 172.16.10.10 und der Port 8080 ist
PS -> Ich würde empfehlen, diese Methode zu verwenden, um den Proxy festzulegen, da die Dinge zusammenfallen, wenn Sie weitere
Informationen zu Source erhalten
quelle
Ich fand diesen Blog nützlich. Es beschreibt den ntlmaps- Proxy. Es ist wahrscheinlich weniger sicher, hat aber reibungslos funktioniert. Ich konnte cntlm nicht zum Laufen bringen.
quelle
Für uns umfasste die Lösung zwei verschiedene Dinge. Zunächst müssen Sie, wie in Soggers Antwort beschrieben, die Einträge zu Ihrer
.gitconfig
Datei hinzufügen , die sich in befindet%USERPROFILE%
.Zweitens (und dies war das fehlende Teil für uns) müssen Sie eine Ausnahme auf dem Proxyserver konfigurieren, damit nicht authentifizierter Proxy-Verkehr zugelassen wird
*.github.com
In iPrism sieht es so aus:
Das Problem ist nicht so sehr der Proxy, sondern die Authentifizierung . Durch Umgehen der Authentifizierungsanforderung kann die erforderliche Kommunikation mithilfe des GitHub-Desktop-Clients geklont und mit Projekten bearbeitet werden.
Beachten Sie außerdem, dass für diesen Ansatz keine Proxy-Anmeldeinformationen in der
.gitconfig
Datei gespeichert werden mussten.quelle