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