Je voudrais accéder (cloner/pousser/tirer) un dépôt git privé (via ssh) derrière un pare-feu d'entreprise qui n'autorise qu'un accès proxy http. J'ai écrit un robuste programme Java (démon) (basé sur la bibliothèque de classes JSCh) qui me permettra de tirer parti de la redirection de ports locale et distante et j'espère tirer parti de cela, mais mon cerveau me fait mal quand j'essaie d'imaginer .Accéder à un dépôt git via ssh derrière un pare-feu
Le dépôt git (selon une expression) est à foo.server.com/var/git si l'inclination naturelle, en ignorant la fireall, de mettre en place un clone serait:
$ git clone ssh://foo.server.com/var/git/myrepo.git
mais le pare-feu bloquera cette commande. Je suis enclin à essayer quelque chose comme
$ git clone ssh://localhost:8022/var/git/myrepo.git
où localhost: 8022 est transmis à foo.server.com:22
Alors est-ce chemin mérite d'être poursuivie? Y a-t-il une solution plus simple qui soit toujours sécurisée? Y at-il des pièges ou des pièges dont je devrais être au courant?
Non. C'est ce qui rend les choses si difficiles. Seul http est autorisé à travers le pare-feu. Il y a des hacks de configuration SSH que je peux utiliser pour obtenir des commandes ssh normales mais je ne crois pas que cela aidera avec la commande git. J'aimerais entendre que j'ai tort et je vais essayer cela quand je vais travailler. – pajato0
Mis à jour ma réponse: vos hacks de configuration SSH devraient également fonctionner via git. – Thilo
En fait, git appelle simplement git-upload-pack'/git-receive-pack' quand il fait fetch/push via SSH (il fait quelque chose comme 'ssh git.example.com" git-upload-pack '/project.git '"'). Vous pouvez spécifier où trouver git-upload-pack ou git-receive-pack en utilisant les options appropriées pour git-fetch/git-push. –