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.

Artículos relacionados