Quero verificar / atualizar o código via proxy, pois minha conexão local é lenta. Eu configurei o túnel ssh: ssh -D 8090 [email protected]
para encaminhar todos os pacotes para o meu host local: 8090.
Como posso configurar o subversion para usar isso?
Respostas:
Você está usando o SSH para configurar um servidor SOCKS local que faz um túnel para o servidor SSH. Você mencionou que sua razão para fazer isso é que "a conexão local é lenta", mas não vejo como o encapsulamento em um servidor SSH o tornará mais rápido.
Enfim, seu problema é que o Subversion pode se conectar através de um proxy HTTP ou um túnel SSH, mas não tem idéia sobre o SOCKS. Portanto, você precisa do SOCKSify Subversion capturando todos os seus conectores TCP e redirecionando-os para o proxy SOCKS.
Em vez de parafrasear aqueles que fizeram isso antes, vou apontar as explicações detalhadas deles:
Ou, em poucas palavras, principalmente recortadas e cortadas da página de Oliver:
O Debian contém dois socksifiers que também estão disponíveis no sourceforge. O mais recente é o ProxyChains, e é bastante simples de configurar. A maioria dos socksifiers funciona de maneira semelhante, portanto, essas instruções devem ser um caso geral razoável. Para configurar o ProxyChains, basta editar $ (HOME) /. Proxychains / proxychains.conf para ter apenas as seguintes linhas:
Tudo o que você precisa fazer é 'wrap' svn no ProxyChains.
No exemplo acima, o aplicativo svn não era o mais sábio de que seu TCP se conecta ao servidor Subversion foi redirecionado para o proxy SOCKS. "
fonte
Postando aqui, como encontrei uma maneira menos desagradável de fazer isso. Você pode usar o Polipo para usar seu túnel SSH SOCKS sobre proxy HTTP, adicionando as seguintes linhas à sua configuração:
polipo
por padrão, escute na porta8123
. E então, em$HOME/.subversion/servers
criar um grupo para anfitriões subversão você quiser conferir a partir, por exemplo, se a sua subversão anfitrião repositório (s) são nomeadosproj1.svn.domain.tld
,proj2.svn.domain.tld
etc., em seguida, adicione o seguinte para[groups]
a seção:E, finalmente, especifique uma configuração de proxy para o grupo de hosts que você acabou de adicionar, adicionando um bloco ao grupo:
Após isso, você poderá operar normalmente no repositório, como costumava trabalhar sem o túnel SSH.
HTH
fonte
Eu não sei sobre tunelamento,
ssh -D
mas usando algo comoVocê pode fazer o tunelamento adicionando um novo protocolo ao subversion com a porta específica em que o túnel está. Portanto, em ~ / .subversion / config, adicione uma linha como
na
[tunnels]
seção e, em vez de svn + ssh: //[email protected], use svn + pssh: // user @ localhostSe você já possui uma cópia de trabalho, pode usar
para mudar o endereço ao qual a cópia de trabalho está vinculada sem precisar fazer um novo checkout.
fonte
svn co svn+ssh://code.somewhere.com/prj prj
, em seguida, entrar emprj/
e funcionandosvn switch --relocate svn+ssh://code.somewhere.com svn+pssh://localhost/
irá atualizar o wc para olhar como se tivesse sido obtido viasvn co svn+pssh://localhost/prj prj
Veja os arquivos de configuração padrão em ~ / .subversion / Existem muitos exemplos úteis comentados. Os proxies seriam configurados em ~ / .subversion / servers
fonte
Há ocasiões em que é necessário no PC com Windows obter conexão svn + ssh ao repositório SVN através do servidor proxy socks . Esse problema pode ser resolvido com o Putty, que fornece a funcionalidade SSH e pode funcionar com diferentes tipos de proxy. A solução proposta não requer o encaminhamento de porta local.
O que é isso - o SVN usará o nome do protocolo para detectar que o plink.exe deve ser usado para conexão e o plink usará o nome da sessão socks_proxy para identificar que o proxy está presente. Lembre-se de que PATH_TO_PLINK deve ser inserido com barra, não com barra invertida. Exemplo para a ocasião em que o plink.exe está localizado na pasta C: \ Arquivos de Programas \ Putty: ssh = C: / Arquivos de Programas / Putty / PLINK.EXE -load socks_proxy .
fonte
Você pode tentar os tsocks . Com o tsocks, você o configura para usar as configurações SSH do proxy SOCKS e executa o svn da seguinte forma:
fonte