その別名がプロキシ経路を受け持つ場合は、Git リモートで SSH の別名を使ってください:

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 が実際のサーバーを特定します。この例には OpenBSD 互換の netcat が必要です: -X connect SSH の宛先へ HTTP CONNECT を要求します。

新規チェックアウトの場合:

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

既存のチェックアウトの場合:

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

実際のリポジトリのパスに置き換えてください。別名が変えるのは接続の選択であり、そのサーバー上でのリポジトリの同一性ではありません。公的な中継を許可するネットワーク上の公開 Git SSH サーバーには、HTTP プロキシ一覧がプロキシのホストとポートの候補を提供します。プロキシ アカウント無しの例は、実際の SSH 宛先とポートへの CONNECT を許可するノードでのみ使ってください。

[email protected]:team/project.git を使うリモートは代わりに git.example.net に一致します。別名の HostName がそこを指しているという理由だけで別名が選ばれるわけではありません。別名を使うか、意図したルールを実際の名前の下に置いてください。

以前に一致するブロックも確認してください。ほとんどの SSH オプションでは最初に得られた値が優先されるため、同じオプションを定義する広い既定値より前に具体的な設定を置いてください。

関連記事