Chcę sprawdzić / zaktualizować kod za pośrednictwem serwera proxy, ponieważ moje połączenie lokalne jest wolne. Konfiguruję tunel ssh: ssh -D 8090 [email protected]
aby przekazać wszystkie pakiety do mojego hosta lokalnego: 8090.
Jak mogę skonfigurować Subversion, aby tego używać?
Odpowiedzi:
Używasz SSH, aby skonfigurować lokalny serwer SOCKS, który tuneluje do twojego serwera SSH. Wspominasz, że powodem tego jest to, że „połączenie lokalne jest powolne”, ale nie widzę, jak tunelowanie do serwera SSH przyspieszy.
W każdym razie problem polega na tym, że Subversion może łączyć się przez serwer proxy HTTP lub tunel SSH, ale nie ma pojęcia o SOCKS. Musisz więc SOCKSify Subversion, przechwytując wszystkie połączenia TCP i przekierowując je do proxy SOCKS.
Zamiast parafrazować tych, którzy już to robili, wskażę ich szczegółowe wyjaśnienia:
Lub w skrócie głównie wycinany i wklejany ze strony Olivera:
Debian zawiera dwa skarpety, które są również dostępne na sourceforge. Ostatnio zaktualizowany to ProxyChains i jest dość prosty do skonfigurowania. Większość skarpetek działa w podobny sposób, więc te instrukcje powinny być rozsądnym ogólnym przypadkiem. Aby skonfigurować ProxyChains, wystarczy edytować $ (HOME) /. Proxychains / proxychains.conf, aby mieć tylko następujące linie:
Wszystko, co musisz wtedy zrobić, to „zawinąć” svn w ProxyChains.
W powyższym przykładzie aplikacja svn nie była mądrzejsza, że jej protokół TCP łączy się z serwerem Subversion, został przekierowany w dół do serwera proxy SOCKS. ”
źródło
Publikowanie tutaj, ponieważ znalazłem mniej kludge-y sposób na zrobienie tego. Możesz użyć Polipo do korzystania z tunelu SSH SOCKS przez proxy HTTP, dodając następujące wiersze do jego konfiguracji:
polipo
domyślnie nasłuchuj na porcie8123
. A następnie w$HOME/.subversion/servers
utworzyć grupę hostów wywrotowej chcesz sprawdzić się z np jeśli repozytorium Subversion hosta (s) są nazwaneproj1.svn.domain.tld
,proj2.svn.domain.tld
itp, a następnie dodać do następujących[groups]
sekcji:Na koniec określ konfigurację proxy dla grupy właśnie dodanych hostów, dodając blok dla grupy:
Po tym powinieneś być w stanie normalnie operować na repozytorium, ponieważ pracowałeś bez tunelu SSH.
HTH
źródło
Nie wiem o tunelowaniu,
ssh -D
ale używaniu czegoś takiegoMożesz następnie wykonać tunelowanie, dodając nowy protokół do subversion z konkretnym portem, na którym tunel jest włączony. Tak więc w ~ / .subversion / config dodaj wiersz podobny do
w
[tunnels]
sekcji, a następnie zamiast svn + ssh: //[email protected] użyj svn + pssh: // użytkownik @ localhostJeśli masz istniejącą kopię roboczą, możesz jej użyć
aby zmienić adres, z którym połączona jest kopia robocza bez konieczności dokonywania nowego zamówienia.
źródło
svn co svn+ssh://code.somewhere.com/prj prj
, przejście doprj/
i uruchomieniesvn switch --relocate svn+ssh://code.somewhere.com svn+pssh://localhost/
zaktualizuje wc, aby wyglądało, jakby zostałosvn co svn+pssh://localhost/prj prj
Spójrz na domyślne pliki konfiguracyjne na ~ / .subversion / Istnieje wiele użytecznych przykładów skomentowanych. Serwery proxy byłyby konfigurowane w ~ / .subversion / serverach
źródło
Są sytuacje, gdy na komputerze z systemem Windows wymagane jest połączenie svn + ssh z repozytorium SVN za pośrednictwem serwera proxy skarpet . Ten problem można rozwiązać za pomocą Putty, która zapewnia funkcjonalność SSH i może współpracować z różnymi typami proxy. Proponowane rozwiązanie nie wymaga przekierowania portów lokalnych.
Co to jest - SVN użyje nazwy protokołu do wykrycia, że do połączenia należy użyć pliku plink.exe, a plink użyje nazwy sesji socks_proxy w celu zidentyfikowania obecności proxy. Pamiętaj, że PATH_TO_PLINK należy wprowadzać ukośnikiem, a nie odwrotnym ukośnikiem. Przykład z okazji, gdy plik plink.exe znajduje się w folderze C: \ Program Files \ Putty: ssh = C: / Program Files / Putty / PLINK.EXE -load socks_proxy .
źródło
Możesz spróbować tsocks . W tsocks konfigurujesz go tak, aby korzystał z konfiguracji SSH proxy SOCKS, a następnie uruchamiałeś svn w następujący sposób:
źródło