Git выбирает правила SSH по имени в своём remote URL
Используйте псевдоним хоста SSH в remote URL Git, чтобы выбирались нужный блок Host и ProxyCommand.
Используйте псевдоним 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 побеждает первое полученное значение, поэтому ставьте конкретные настройки перед широкими значениями по умолчанию, задающими тот же параметр.