Используйте псевдоним SSH в Git remote, когда этот псевдоним владеет маршрутом через прокси:

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

code-via-proxy сопоставляется с заданным именем SSH. Затем HostName определяет настоящий сервер. Примеру нужен netcat, совместимый с OpenBSD: -X connect запрашивает HTTP CONNECT к цели SSH.

Для нового checkout:

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

Для существующего checkout:

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

Подставьте настоящий путь репозитория. Псевдоним меняет выбор соединения, а не идентичность репозитория на его сервере. Для публичного Git SSH-сервера в сети, допускающей публичного посредника, список HTTP-прокси даёт кандидатов для хоста и порта прокси. Пример без учётной записи прокси используйте только с узлом, который разрешает CONNECT к реальной цели и порту SSH.

Remote, использующий [email protected]:team/project.git, вместо этого совпадает с git.example.net. Он не выбирает псевдоним только потому, что HostName псевдонима указывает туда. Либо используйте псевдоним, либо поместите нужное правило под настоящим именем.

Просмотрите и более ранние совпадающие блоки. Для большинства параметров SSH побеждает первое полученное значение, поэтому ставьте конкретные настройки перед широкими значениями по умолчанию, задающими тот же параметр.

Похожие статьи