O Git escolhe as regras SSH pelo nome no URL remoto
Use o alias de host SSH no URL remoto do Git para que o bloco Host e o ProxyCommand pretendidos sejam selecionados.
Use o alias SSH no remoto do Git quando esse alias é dono da rota do 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 é comparado com o nome SSH fornecido. Depois HostName identifica o servidor real. O exemplo exige um netcat compatível com OpenBSD: -X connect pede HTTP CONNECT ao destino SSH.
Para um checkout novo:
git clone git@code-via-proxy:team/project.git
Para um checkout existente:
git remote set-url origin git@code-via-proxy:team/project.git
Substitua pelo caminho real do repositório. O alias muda a escolha da conexão, não a identidade do repositório no seu servidor. Para um servidor Git SSH público numa rede que permite um intermediário público, a lista de proxies HTTP fornece candidatos para o host e a porta do proxy. Use o exemplo sem conta de proxy apenas com um nó que permita CONNECT ao destino e à porta SSH reais.
Um remoto que usa [email protected]:team/project.git corresponde, em vez disso, a git.example.net. Ele não seleciona o alias só porque o HostName do alias aponta para lá. Use o alias ou coloque a regra pretendida sob o nome real.
Reveja também os blocos correspondentes anteriores. Na maioria das opções SSH vence o primeiro valor obtido, por isso coloque as definições específicas antes dos valores predefinidos amplos que definem a mesma opção.