Verwenden Sie den SSH-Alias im Git-Remote, wenn dieser Alias die Proxy-Route besitzt:

Host code-via-proxy
    HostName git.example.net
    User git
    ProxyCommand nc -X connect -x proxy.example.net:8080 %h %p

code-via-proxy wird mit dem angegebenen SSH-Namen abgeglichen. HostName kennzeichnet dann den echten Server. Das Beispiel benötigt OpenBSD-kompatibles netcat: -X connect fordert HTTP CONNECT zum SSH-Ziel an.

Für einen neuen Checkout:

git clone git@code-via-proxy:team/project.git

Für einen bestehenden Checkout:

git remote set-url origin git@code-via-proxy:team/project.git

Ersetzen Sie den echten Repository-Pfad. Der Alias ändert die Verbindungsauswahl, nicht die Identität des Repositorys auf seinem Server. Für einen öffentlichen Git-SSH-Server in einem Netz, das einen öffentlichen Vermittler zulässt, liefert die HTTP-Proxy-Liste Kandidaten für Proxy-Host und -Port. Verwenden Sie das Beispiel ohne Proxy-Konto nur mit einem Knoten, der CONNECT zum tatsächlichen SSH-Ziel und -Port erlaubt.

Ein Remote, das [email protected]:team/project.git verwendet, passt stattdessen auf git.example.net. Es wählt den Alias nicht allein deshalb, weil das HostName des Alias dorthin zeigt. Verwenden Sie entweder den Alias oder legen Sie die gewünschte Regel unter den echten Namen.

Prüfen Sie auch frühere passende Blöcke. Bei den meisten SSH-Optionen gewinnt der erste gefundene Wert, setzen Sie daher spezifische Einstellungen vor breite Voreinstellungen, die dieselbe Option definieren.

Ähnliche Artikel