#1 Le 19/02/2013, à 23:03
- nelping
[Résolu] Utiliser GIT sur un proxy SSH
Bonjour,
Je ne savais pas trop où poster cette question, donc j'espère que je suis au bon endroit. J'ai regardé pas mal de solutions par internet, mais je n'ai pas réussi à résoudre mon problème.
Je souhaite exécuter un git clone sur un serveur distant. Pour cela, j'utilise la commande suivante : git clone ssh://user@host/repositories/myProject.git. A noter que j'utilise bien le protocole SSH pour faire le clone. Cette commande fonctionne très bien quand la machine distante est accessible depuis le réseau ou je me trouve (sur mon lieu de travail). Seulement, quand je me trouve chez moi, un firewall me bloque l'accès à la machine. J'ai cependant un accès SSH sur une machine qui est situé sur le réseau de mon entreprise, et qui a donc accès à la machine distante. Je souhaiterais donc utiliser cette machine comme proxy pour le git clone. Pour cela, je crée un proxy avec la commande suivante:
ssh -N -D 12345 user@proxyhost
Ce proxy fonctionne correctement puisque quand je le configure sur Firefox, tout fonctionne bien. Seulement, j'ai essayé de le configurer pour GIT, et ça ne fonctionne pas, j'obtiens l'erreur suivante lorsque je lance la commande clone:
$git clone ssh://user@host/repositories/myProject.git
ssh: connect to host host port 22: Connection timed out
fatal: The remote end hung up unexpectedly
Cette erreur apparaît après une vingtaine de secondes et avant que mon mot de passe me soit demandé.
J'ai essayé de configurer comme expliqué à cette adresse : http://www.jones.ec/blogs/a/entry/using … gh_a_socks. J'ai aussi essayé d'autres tuto mais toujours le même résultat.
Je suis sous Ubuntu 12.04. Lorsque je crée mon proxy vers la machine proxyhost, j'utilise une authentification par mot de passe au clavier. Idem lors de la commande git clone.
Merci d'avance pour votre aide!
Dernière modification par nelping (Le 20/02/2013, à 13:04)
Hors ligne
#2 Le 20/02/2013, à 07:05
- nesthib
Re : [Résolu] Utiliser GIT sur un proxy SSH
2 solutions :
– utilise ton tunnel socks (option D de ssh) en combinaison avec tsocks (qu'il faut installer et configurer au préalable) :
# on est en local
$ tsocks
# on passe maintenant par le proxy
$ git clone …
$ ^D
# on est à nouveau en local
– utilise une simple redirection de ports :
ssh -L1234:host_git_server:22 user@proxy_host
git clone ssh://user@localhost:1234/repositories/myProject.git
ma préférence (pour une utilisation fréquente) allant pour la première solution
GUL Bordeaux : Giroll – Services libres : TdCT.org
Hide in your shell, scripts & astuces : applications dans un tunnel – smart wget – trouver des pdf – install. auto de paquets – sauvegarde auto – ♥ awk
⃛ɹǝsn xnuᴉꞁ uʍop-ǝpᴉsdn
Hors ligne
#3 Le 20/02/2013, à 07:52
- tiramiseb
Re : [Résolu] Utiliser GIT sur un proxy SSH
Salut,
Encore plus simple à l'utilisation, utilise les rebonds SSH...
Par exemple, imaginons que :
- pour te connecter à ton proxy tu vas sur l'adresse "proxy.monentreprise.fr", sur le port 2222 avec l'utilisateur "bibi"
- ton serveur Git a l'adresse 192.168.1.42, tu t'y connectes sur le port standard 22 avec l'utilisateur "moi_git"
Ça donne, dans .ssh/config :
Host proxy_ssh
User bibi
HostName proxy.monentreprise.fr
Host serveur_git
ProxyCommand ssh proxy_ssh nc 192.168.1.42 22
User moi_git
Ensuite, tu peux utiliser ça de la manière suivante :
git clone ssh://serveur_git/repositories/myProject.git
... ça marche aussi pour t'y connecter direct en SSH, pour faire des scp, etc.
Après, l'authentification par clé simplifie les choses aussi
Dernière modification par tiramiseb (Le 20/02/2013, à 08:05)
Sébastien Maccagnoni - https://www.maccagnoni.eu - https://www.domotego.com
Hors ligne
#4 Le 20/02/2013, à 08:00
- nesthib
Re : [Résolu] Utiliser GIT sur un proxy SSH
Oui, le rebond avec proxycommand fonctionne bien aussi
En revanche tu as testé avec git ? Je ne sais pas s'il prend spontanément en compte le fichier .ssh/config
edit : j'ai testé et ça fonctionne, il faut bien mettre le nom de l'utilisateur git (selon comment est configuré le dépôt) pour « moi »
Dernière modification par nesthib (Le 20/02/2013, à 08:04)
GUL Bordeaux : Giroll – Services libres : TdCT.org
Hide in your shell, scripts & astuces : applications dans un tunnel – smart wget – trouver des pdf – install. auto de paquets – sauvegarde auto – ♥ awk
⃛ɹǝsn xnuᴉꞁ uʍop-ǝpᴉsdn
Hors ligne
#5 Le 20/02/2013, à 08:04
- tiramiseb
Re : [Résolu] Utiliser GIT sur un proxy SSH
Oui ça utilise ce fichier de configuration.
Exemple (ici, outchou est un de mes raccourcis dans .ssh/config) :
sebastien@cao:~$ git clone ssh://outchou/faux_depot
Cloning into 'faux_depot'...
fatal: '/faux_depot' does not appear to be a git repository
fatal: The remote end hung up unexpectedly
sebastien@cao:~$ git clone ssh://fausse_adresse/faux_depot
Cloning into 'faux_depot'...
ssh: Could not resolve hostname fausse_adresse: Name or service not known
fatal: The remote end hung up unexpectedly
... on voit que sur une fausse adresse il ne peut résoudre, et sur une adresse n'existant pas dans le DNS mais définie dans ce fichier de configuration, il y accède (et ne trouve pas le dépôt à la con que j'ai demandé, mais ça montre qu'il l'a bien cherché).
edit : et pourquoi tu poses la question avant de tester, hein ?
Dernière modification par tiramiseb (Le 20/02/2013, à 08:05)
Sébastien Maccagnoni - https://www.maccagnoni.eu - https://www.domotego.com
Hors ligne
#6 Le 20/02/2013, à 08:16
- nesthib
Re : [Résolu] Utiliser GIT sur un proxy SSH
Flemme au départ, puis reprise de la bonne habitude du TIY (try it yourself)
Et .ssh/config saybien, mangez-en
GUL Bordeaux : Giroll – Services libres : TdCT.org
Hide in your shell, scripts & astuces : applications dans un tunnel – smart wget – trouver des pdf – install. auto de paquets – sauvegarde auto – ♥ awk
⃛ɹǝsn xnuᴉꞁ uʍop-ǝpᴉsdn
Hors ligne
#7 Le 20/02/2013, à 08:25
- tiramiseb
Re : [Résolu] Utiliser GIT sur un proxy SSH
Et .ssh/config saybien, mangez-en
OUI !
Vive .ssh/config, et vive ProxyCommand !
J'en ai de très bons souvenirs d'une époque où on gérait un peu plus d'une centaine de serveurs pour des clients différents, avec rebonds sur des firewalls (parfois deux ou trois firewalls l'un derrière l'autre dans des infra très sécurisées)...
Quand on est passés de "mot de passe + connexion manuelle" à "clé SSH + ProxyCommand" ça a fait énormément de bien
Sébastien Maccagnoni - https://www.maccagnoni.eu - https://www.domotego.com
Hors ligne
#8 Le 20/02/2013, à 13:03
- nelping
Re : [Résolu] Utiliser GIT sur un proxy SSH
Merci beaucoup pour vos réponses rapides! Je viens de tester avec tsocks, la redirection de ports, et le rebond SSH, tout fonctionne parfaitement. J'ai finalement choisi le rebond SSH car c'est le plus adapté à mon utilisation.
Encore merci!
Hors ligne