Git은 remote URL의 이름으로 SSH 규칙을 선택한다
Git remote URL에 SSH 호스트 별칭을 사용하면 의도한 Host 블록과 ProxyCommand가 선택됩니다.
해당 별칭이 프록시 경로를 담당할 때는 Git remote에서 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 을 쓰는 remote는 대신 git.example.net 과 일치합니다. 별칭의 HostName이 그곳을 가리킨다는 이유만으로 별칭이 선택되지는 않습니다. 별칭을 쓰거나, 의도한 규칙을 실제 이름 아래에 두십시오.
앞선 일치 블록도 검토하십시오. 대부분의 SSH 옵션은 처음 얻은 값이 이기므로 같은 옵션을 정의하는 넓은 기본값보다 구체적인 설정을 앞에 두십시오.