로컬 연결이 느리기 때문에 프록시를 통해 코드를 체크 아웃 / 업데이트하고 싶습니다. ssh tunnel : ssh -D 8090 user@ssh.proxy.net
을 설정 하여 모든 패킷을 내 localhost : 8090으로 전달합니다.
이것을 사용하기 위해 subversion을 어떻게 설정합니까?
로컬 연결이 느리기 때문에 프록시를 통해 코드를 체크 아웃 / 업데이트하고 싶습니다. ssh tunnel : ssh -D 8090 user@ssh.proxy.net
을 설정 하여 모든 패킷을 내 localhost : 8090으로 전달합니다.
이것을 사용하기 위해 subversion을 어떻게 설정합니까?
답변:
SSH를 사용하여 SSH 서버로 터널링하는 로컬 SOCKS 서버를 설정하고 있습니다. 당신이 그렇게하는 이유는 "로컬 연결이 느리다"고 말하지만 SSH 서버로의 터널링이 어떻게 더 빨라질 지 모르겠습니다.
어쨌든 문제는 Subversion이 HTTP 프록시 또는 SSH 터널을 통해 연결할 수 있지만 SOCKS에 대해서는 전혀 모른다는 것입니다. 따라서 모든 TCP 연결을 캡처하고 SOCKS 프록시로 리디렉션하여 Subversion을 SOCKSify해야합니다.
이전에 해본 사람들을 역설하는 대신 자세한 설명을 알려 드리겠습니다.
또는 간단히 말해서 Oliver의 페이지에서 주로 붙여 넣습니다.
데비안에는 sourceforge에서도 사용할 수있는 두 개의 양말이 들어 있습니다. 가장 최근에 업데이트 된 것은 ProxyChains이며 구성이 매우 간단합니다. 대부분의 양말은 비슷한 방식으로 작동하므로 이러한 지침은 합리적인 일반적인 경우입니다. ProxyChain을 구성하려면 $ (HOME) /. proxychains / proxychains.conf를 편집하여 다음 행만 갖도록하면됩니다.
DynamicChain
tcp_read_time_out 15000
tcp_connect_time_out 10000
[ProxyList]
socks5 127.0.0.1 8090
# NB: for some reason 'localhost' doesn't work in the above line
ProxyChains에서 'wrap'svn 만하면됩니다.
proxychains svn commit
위의 예에서 svn 응용 프로그램은 TCP가 Subversion 서버에 연결하는 더 현명하지 않았습니다. SOCKS 프록시로 리디렉션되었습니다. "
내가 덜 kludge-y이 방법을 발견 여기에 게시. 당신은 사용할 수 있습니다 Privoxy를을 구성에 다음 행을 추가하여, HTTP 프록시를 통해 SSH SOCKS 터널을 사용 :
socksParentProxy = "localhost:8090"
socksProxyType = socks5
polipo
기본적으로 포트에서 청취하십시오 8123
. 그 다음에 $HOME/.subversion/servers
당신이 당신의 파괴 저장소 호스트 (들)의 이름을 지정하는 경우, 예를 들어에서 체크 아웃 할 Subversion을 호스트 그룹을 만들고 proj1.svn.domain.tld
, proj2.svn.domain.tld
등, 다음에 다음을 추가 [groups]
섹션 :
[groups]
domain = *.svn.domain.tld
마지막으로 그룹에 블록을 추가하여 방금 추가 한 호스트 그룹에 프록시 구성을 지정하십시오.
[domain]
http-proxy-host=localhost
http-proxy-port=8123
이 후 SSH 터널없이 작업 할 때처럼 저장소에서 정상적으로 작동 할 수 있어야합니다.
HTH
터널링에 ssh -D
대해서는 모르지만 다음과 같은 것을 사용합니다.
ssh -L8090:svn.server.com:22 user@other.server.com
그런 다음 터널이있는 특정 포트를 사용하여 서브 버전에 새 프로토콜을 추가하여 터널링을 수행 할 수 있습니다. ~ / .subversion / config에 다음과 같은 줄을 추가하십시오.
pssh = ssh -p8090
에 [tunnels]
절하고 대신 SVN + SSH의 : //user@original.com 사용 SVN + pssh : // 사용자 @ localhost를
기존 작업 사본이있는 경우 사용할 수 있습니다
svn switch --relocate svn+ssh://user@original.com svn+pssh://user@localhost
새 체크 아웃을하지 않고도 작업 복사본이 연결된 주소를 전환 할 수 있습니다.
svn co svn+ssh://code.somewhere.com/prj prj
들어가서 prj/
실행 svn switch --relocate svn+ssh://code.somewhere.com svn+pssh://localhost/
하면 마치 wc를 통해 svn co svn+pssh://localhost/prj prj
가 필요있어 경우가 있습니다 윈도우 를 통해 SVN 저장소에 도착 SVN + SSH 연결로 PC 양말 프록시 서버 . 이 문제는 SSH 기능을 제공하고 다른 프록시 유형에서 작동 할 수있는 Putty로 해결할 수 있습니다. 제안 된 솔루션에는 로컬 포트 전달이 필요하지 않습니다.
결론-SVN은 프로토콜 이름을 사용하여 plink.exe가 연결에 사용되는지 감지하고 plink는 세션 이름 socks_proxy 를 사용하여 프록시가 있는지 식별합니다. 그 기억 PATH_TO_PLINK이 되지 백 슬래시, 슬래시로 입력해야합니다. \ 프로그램 파일 \ 퍼티 : plink.exe가 C 폴더에있는 경우를위한 예 SSH = C : / 프로그램 파일 / 퍼티 / PLINK.EXE -load socks_proxy .