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:

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:

$ 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:

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

Sharing is caring

Schreibe einen Kommentar