Utilisez l'alias SSH dans le remote Git lorsque cet alias possède la route du proxy :

Host code-via-proxy
    HostName git.example.net
    User git
    ProxyCommand nc -X connect -x proxy.example.net:8080 %h %p

code-via-proxy est comparé au nom SSH fourni. HostName identifie ensuite le vrai serveur. L'exemple exige un netcat compatible OpenBSD : -X connect demande un HTTP CONNECT vers la destination SSH.

Pour un nouveau checkout :

git clone git@code-via-proxy:team/project.git

Pour un checkout existant :

git remote set-url origin git@code-via-proxy:team/project.git

Remplacez par le vrai chemin du dépôt. L'alias change la sélection de connexion, pas l'identité du dépôt sur son serveur. Pour un serveur Git SSH public sur un réseau autorisant un intermédiaire public, la liste de proxys HTTP fournit des candidats pour l'hôte et le port du proxy. N'utilisez l'exemple sans compte proxy qu'avec un nœud autorisant CONNECT vers la destination et le port SSH réels.

Un remote utilisant [email protected]:team/project.git correspond plutôt à git.example.net. Il ne sélectionne pas l'alias simplement parce que le HostName de l'alias pointe là. Utilisez l'alias ou placez la règle voulue sous le vrai nom.

Examinez aussi les blocs correspondants précédents. Pour la plupart des options SSH, la première valeur obtenue l'emporte : placez donc les réglages précis avant les valeurs par défaut larges qui définissent la même option.

Articles similaires