Git elige las reglas SSH por el nombre de su URL remota
Utilice el alias de host SSH en la URL remota de Git para que se seleccionen el bloque Host y el ProxyCommand previstos.
Utilice el alias SSH en el remoto de Git cuando ese alias posea la ruta del 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 se compara con el nombre SSH proporcionado. Después, HostName identifica el servidor real. El ejemplo necesita un netcat compatible con OpenBSD: -X connect solicita HTTP CONNECT al destino SSH.
Para un checkout nuevo:
git clone git@code-via-proxy:team/project.git
Para un checkout existente:
git remote set-url origin git@code-via-proxy:team/project.git
Sustituya la ruta real del repositorio. El alias cambia la selección de conexión, no la identidad del repositorio en su servidor. Para un servidor Git SSH público en una red que permita un intermediario público, la lista de proxies HTTP ofrece candidatos para el host y el puerto del proxy. Utilice el ejemplo sin cuenta de proxy solo con un nodo que permita CONNECT al destino y puerto SSH reales.
Un remoto que utiliza [email protected]:team/project.git coincide en cambio con git.example.net. No selecciona el alias solo porque el HostName del alias apunte allí. O utilice el alias o coloque la regla deseada bajo el nombre real.
Revise también los bloques coincidentes anteriores. En la mayoría de las opciones SSH gana el primer valor obtenido, así que coloque los ajustes específicos antes de los valores predeterminados amplios que definen la misma opción.