Kurztipp: Git-Repository über SSH und SOCKS-Proxy klonen

Git-Repositories lassen sich beim Einsatz von Tools wie GitLab neben HTTP auch per SSH klonen. Letzteres ist vor allem dann charmant, wenn kein VPN zum Einsatz kommt - jedoch gilt es zu beachten, DNS über einen Jumphost zu senden.

Der erste Schritt ist es, eine SSH-Verbindung mit Port-Weiterleitung zu erstellen:

1$ ssh -A -D 1337 USER@IP -i pinkepank.key

Anschließend lässt sich http://localhost:1337 als SOCKS-Proxy verwenden - Webserver im entfernten Netzwerk sollten nun inklusive DNS erreichbar sein.

Das Klonen des Git-Repositories erfolgt mit überschriebener http-Konfiguration:

1$ git -c http.proxy=socks5h://localhost:1337 clone http://gitlab.pinkepank.remote-site.org/group/repo.git

Besonders wichtig ist das angegebene Protokoll socks5h - die folgenden Protokolle werden unterstützt:

Parameter Erläuterung
socks4:// SOCKS4-Proxy, DNS-Auflösung über Client
socks4h:// SOCKS4-Proxy, DNS-Auflösung über entferntes System
socks5:// SOCKS5-Proxy, DNS-Auflösung über Client
socks5h:// SOCKS5-Proxy, DNS-Auflösung über entferntes System

Damit die Konfiguration nicht jedes Mal überschrieben werden muss kann der Proxy auf Repository oder globaler Ebene (--global) konfiguriert werden:

1$ git config http.proxy socks5h://localhost:1337

Übersetzungen: