J'essaie de faire fonctionner le client GitHub pour Windows. Je suis sur un ordinateur d'entreprise Win 7 x64 derrière un proxy d'entreprise et un pare-feu. À la suite de divers autres articles et en expérimentant plusieurs combinaisons de variables d'environnement et de variables de configuration, j'ai trouvé que le seul moyen de faire fonctionner le clonage et de pousser les mises à jour est d'utiliser la variable d'environnement HTTPS_PROXY, y compris mon ID d'utilisateur et mon mot de passe de domaine d'entreprise complet.
C'est inacceptable du point de vue de la sécurité. Y a-t-il un autre moyen de faire fonctionner cela?
Notes complémentaires:
Ce qui suit a fonctionné:
- Ajouter une variable d'environnement appelée
HTTPS_PROXY
avec la valeurhttp://[domain]\[userid]:[password]@someproxy.mycorp.com:8080
Ce qui suit n'a pas fonctionné:
- Omettre l'ID utilisateur et le mot de passe de la
HTTPS_PROXY
variable - Utilisation d'une variable d'environnement appelée
HTTP_PROXY
(nonS
) - Ajout de la
http.proxy
variable au fichier de configuration globale (.gitconfig
) - Ajout de la
https.proxy
variable au fichier de configuration globale
Dans tous les cas, le GitHub client ne reconnaît toujours pas le proxy: Le contenu du fichier TheLog.txt
toujours montre ce qui suit au démarrage:
[time]|INFO|thread:4|GitHub.Helpers.StartupLogger|Proxy information: (None)
[time]|INFO|thread:4|GitHub.Helpers.StartupLogger|Couldn't fetch creds for proxy
Et est suivi par la sortie de plusieurs tentatives d'authentification de proxy échouées, qui indiquent toutes "Les informations d'identification sont manquantes."
la source
Réponses:
Ajoutez ces entrées à votre fichier '.gitconfig' dans votre répertoire utilisateur (accédez à% USERPROFILE%):
Et si vous ne souhaitez pas stocker votre mot de passe en texte brut, j'utiliserais un expéditeur de proxy local comme CNTLM qui vous permet de diriger tout le trafic à travers celui-ci et de stocker les mots de passe hachés.
Contrairement à la question d'origine, si vous ne vous souciez pas de savoir si votre mot de passe est en texte brut, ajoutez-les:
la source
127.0.0.1
au lieu delocalhost
, comme suggéré. Sous Windows, il semble que localhost pointe d'abord vers l'adresse IPv6, que CNTLM n'écoute pas. En tant que tel, git attendra le délai d'attente (plusieurs minutes) avant de passer à l'adresse IPv4.J'ai tout essayé - et je n'ai pas réussi, la seule chose qui m'a aidé est CNTLM - http://cntlm.sourceforge.net/ .
Installez-le et exécutez cntlm -H, puis authentifiez-vous auprès du proxy corp, modifiez le fichier cntlm.ini avec la sortie de cntlm, redémarrez le service Windows. Mettez à jour .gitconfig avec:
Maintenant, cntlm fera toute l'authentification et vous pourrez utiliser GitHub (et Dropbox, btw) derrière le proxy corp. Au moins jusqu'au prochain changement de mot de passe :) (que refaire cntlm -H)
la source
J'ai pu faire fonctionner GitHub Shell avec notre proxy d'entreprise. Je démarre GitHub Shell et exécute la commande suivante:
J'aimerais vraiment que l'interface graphique fonctionne aussi. Mais je ne veux pas définir la variable d'environnement globale Windows qui contient mes informations d'identification d'entreprise.
Étrangement, le client GUI GitHub est capable de se connecter à GitHub pour l'authentification des utilisateurs, mais le seul problème est le clonage, l'extraction et le transfert de projets depuis et vers GitHub. Il semble que le problème vient de l'implémentation de git. J'ai pu configurer git pour qu'il s'exécute via notre proxy sans mettre mes informations d'identification dans les paramètres globaux de git et il me demandait mes informations d'identification lors de l'exécution de requêtes pull ou push. Mais cela ne fonctionnait que dans Git Shell.
la source
Si vous utilisez GitHub pour Windows dans une entreprise, il y a de fortes chances que vous soyez derrière un gros pare-feu / proxy d'entreprise. GitHub pour Windows n'a pas encore les paramètres de proxy dans son interface graphique pour définir les options.
Pour configurer GitHub pour Windows afin d'utiliser votre proxy d'entreprise, modifiez le fichier .gitconfig généralement trouvé dans C: \ Users \ .gitconfig ou C: \ Documents & Settings \ .gitconfig
Fermez GitHub pour Windows; Dans .gitconfig, ajoutez simplement
[https] proxy = proxy.votreentreprise.com:port
la source
J'ai également rencontré ce problème et j'ai essayé de creuser un peu plus (démonté le client).
Le morceau de code qui génère les messages de journal que nous voyons est le suivant:
Ainsi, ce bloc enregistre uniquement les informations de proxy configurées dans IE . Le message du journal semble n'avoir aucune incidence sur ce que nous avons configuré dans les fichiers de configuration ou les variables d'environnement.
la source
Je ne connais pas votre pare-feu, mais mon campus utilise un proxy
utilisez-vous une interface graphique git? EDIT : vient de remarquer que vous utilisez le client github pour Windows
J'utilise tortoisegit et il est très facile de définir le proxy. Faites un clic droit n'importe où, tortoisegit> réseau, activez le serveur proxy et définissez l'adresse du serveur, le nom d'utilisateur et le mot de passe. terminé
autant que je me souvienne, tortoisegit fonctionnera également avec github.
la source
Voici la façon de définir un proxy dans github
Ici, dans mon université, nous n'avons ni nom d'utilisateur ni mot de passe, donc si notre adresse IP est 172.16.10.10 et le port 8080
PS -> Je recommanderais d'utiliser cette méthode pour définir le proxy car les choses se mettront en place au fur et à mesure que vous en apprendrez plus
Source
la source
J'ai trouvé ce blog utile. Il décrit le proxy ntlmaps . C'est probablement moins sûr, mais a fonctionné sans problème. Je n'ai pas pu faire fonctionner le cntlm.
la source
Pour nous, la solution impliquait deux choses différentes. Tout d'abord, comme décrit dans la réponse de Sogger, vous devez ajouter les entrées à votre
.gitconfig
fichier, situé dans%USERPROFILE%
.Deuxièmement, (et c'était la pièce manquante pour nous), vous devez configurer une exception sur le serveur proxy pour autoriser le trafic proxy non authentifié à
*.github.com
Dans iPrism, cela ressemble à ceci:
Le problème n'est pas tant le proxy, mais l' authentification . Le contournement de l'exigence d'authentification permet à la communication nécessaire de cloner et de travailler avec des projets à l'aide du client de bureau GitHub.
Notez également que cette approche ne nécessitait pas de stocker les informations d'identification du proxy dans le
.gitconfig
fichier.la source