Il est parfois nécessaire de pouvoir accéder à son dépôt git (push et pull) auto-hébergé derrière un proxy.

Mon dépôt git ne support pas le smart HTTP protocol.

Je vais vous présenter ici une technique s’appuyant sur corkscrew. Il y existe sûrement d’autres techniques (port forwarding, …).

Cette technique sous-entend que ssh est configuré sur le port 443 de votre serveur.

Installer corkscrew :


$ sudo apt-get install corkscrew

Ajouter dans le fichier ~/.ssh/config :


Host mon.domaine.net
 User git
 Port 443
 TCPKeepAlive yes
 ProxyCommand /usr/bin/corkscrew <proxy> <port proxy> %h %p

Cette configuration signifie : Pour le domaine mon.domaine.net (Host mon.domaine.net) utilise l’utilisateur git sur le port 443 et passe par le proxy <proxy> en utilisant corkscrew. TCPKeepAlive permet de maintenir la connexion.