#1 Le 03/03/2015, à 11:46
- Line-UX
Utiliser Git en SSH derrière un proxy HTTP
Bonjour,
j'essaie désespérément d'accéder à un dépôt Git depuis un proxy mais en vain.
J'ai fait plusieurs recherches sur le web et je suis tombé sur cette discussion.
Malheureusement, je n'y comprends rien.
D'habitude, je peux cloner mon dépôt sans problème avec la commande :
git clone ssh://git@git.depot.fr:5555/soft.git
Ce n'est plus possible dans l'un de mes lieux de travail car il y a un proxy.
Je dois régler mon navigateur Firefox avec le proxy proxy.truc.fr sur le port 1234 pour accéder à Internet par exemple.
Je n'ai jamais eu à entrer aucun mot de passe ni aucun nom d'utilisateur.
J'ai tenté de configurer le proxy http de Git comme ceci :
git config --global http.proxy proxy.truc.fr:1234
Mais cela ne fonctionne pas et je pense que c'est logique puisque j'essaie de cloner mon dépôt via SSH.
J'ai donc tenté d'éditer mon fichier de configuration SSH comme ceci :
Host git.depot.fr
User git
ProxyCommand nc -x proxy.truc.fr:1234 %h %p
Mais cela ne fonctionne pas non plus et je dois bien avouer que je ne comprends rien à ce que je fais.
Est-ce que vous sauriez comment faire?
Je pense que la solution est dans le lien que je donne en début de message mais je suis incapable de l'appliquer à mon cas particulier.
D'avance, merci infiniment pour votre aide!
Hors ligne
#2 Le 03/03/2015, à 13:59
- voxdemonix
Re : Utiliser Git en SSH derrière un proxy HTTP
Tu tentes de créer un tunnel SSH (communication fermée entre un client SSH et un serveur SSH). Si ton proxy est HTTP, tu te goure de protocole, il te faut un serveur SSH qui te servira de proxy SSH. Dans le lien que tu as posté il passe par un proxy SSH (faut juste openssh-server sur le serveur/proxy)
Dernière modification par voxdemonix (Le 03/03/2015, à 14:02)
Hors ligne
#3 Le 03/03/2015, à 14:15
- Line-UX
Re : Utiliser Git en SSH derrière un proxy HTTP
C'est fort possible. :-(
En supposant que j'ai bien à disposition un proxy ssh, comment devrais-je procéder ensuite?
Hors ligne
#4 Le 03/03/2015, à 14:38
- voxdemonix
Re : Utiliser Git en SSH derrière un proxy HTTP
ceci devrait t'aider : https://doc.ubuntu-fr.org/ssh_avance#tu … sans_squid en gros on t'explique comment créer un tunnel SSH, ensuite tu fais passer ta commande git par ce tunnel (je n'ai jamais essayé de faire passer git par SSH donc je saurais pas être beaucoup plus détaillé).
Hors ligne
#5 Le 03/03/2015, à 17:12
- Line-UX
Re : Utiliser Git en SSH derrière un proxy HTTP
Merci beaucoup pour cette documentation!
J'ai l'impression que ma situation correspond parfaitement au point 1 de la page que tu mentionnes : se connecter en ssh à travers un mandataire http (proxy).
Le problème est que je ne sais pas à quoi correspond ip_pc_distant, ni comment récupérer cette information dans l'exemple donné de ssh_config :
host ip_du_pc_distant
ProxyCommand connect-proxy -H adresse_du_proxy:port %h %p
Est-ce qu'il s'agit de l'adresse ip de ma machine locale?
Dernière modification par Line-UX (Le 03/03/2015, à 17:13)
Hors ligne
#6 Le 03/03/2015, à 17:47
- voxdemonix
Re : Utiliser Git en SSH derrière un proxy HTTP
Si je ne me trompe, le point 1 explique comment _accéder_ a un serveur SSH a travers un serveur HTTP. Dans ton cas faut savoir si le proxy est HTTP ou SSH (si j'ai bien compris ton but n'est pas d'atteindre SSH mais d'atteindre Git a travers un proxy http _OU_ ssh). Après c'est ptête juste moi qui est mal compris quelque chose ^^
Le problème est que je ne sais pas à quoi correspond ip_pc_distant
host ip_du_pc_distant ProxyCommand connect-proxy -H adresse_du_proxy:port %h %p
Est-ce qu'il s'agit de l'adresse ip de ma machine locale?
Ça correspond au destinataire (dans le cas içi c'est le serveur git), nom de domaine ou IP. Les exemples pour Tor sont plus explicite:
Host mon_adresse_En.onion
CheckHostIP no
Compression yes
Protocol 2
ProxyCommand connect -4 -S localhost:9050 $(tor-resolve %h localhost:9050) %p
source : https://www.howtoforge.com/anonymous-ss … s-with-tor
Dernière modification par voxdemonix (Le 03/03/2015, à 17:51)
Hors ligne
#7 Le 03/03/2015, à 18:14
- Line-UX
Re : Utiliser Git en SSH derrière un proxy HTTP
Non, ça c'est sûr : c'est bien moi qui ne comprend rien! :-(
Mon but est de réussir à récupérer mes sources via le protocole ssh et git.
Le seul proxy que je connaisse semble être un proxy http puisque je l'utilise dans mon navigateur web de cette manière.
Dans ton lien, il est écrit qu'il faut taper :
ssh -D 1234 monuser@monserver.net
Mais je ne sais pas à quoi correspond monserver.net.
Hors ligne
#8 Le 03/03/2015, à 18:37
- voxdemonix
Re : Utiliser Git en SSH derrière un proxy HTTP
Dans ton lien, il est écrit qu'il faut taper :
ssh -D 1234 monuser@monserver.net
Mais je ne sais pas à quoi correspond monserver.net
monserver.net c'est ton proxy (serveur SSH). En gros cette ligne va ouvrir un port (1234) en localhost (127.0.0.1) et renvoyer tout se qui passera par ce port vers un tunnel SSH a destination de monserver.net. Comme signalé dans le tuto juste en dessous d'où tu as copié la commande si tu dis a tes programmes (exemple firefox) d'utiliser 127.0.0.1:1234 comme proxy (SOCKs 5), ils vont tout tunneliser a travers SSH.
Dernière modification par voxdemonix (Le 03/03/2015, à 18:38)
Hors ligne