How can I configure TortoiseSVN to connect to a SVN server behind a corporate firewall from home?
This is the question I'm having a hard time 开发者_如何学运维finding an answer to. Here's what I DON'T have:
- Official VPN access to the corporate intranet.
- Control over the SVN server.
- Any control over the intranet.
- Cooperation from the IT department.
Here's what I DO have:
- Full control over my computer at my desk at the office.
- Willpower
This is a shot at what I tried, and seem to be unsuccessful at (names of people and places and machines have been changed to protect the innocent):
- I am using Wippien to set up a zero configuration VPN from my home computer (NG-ATHOME) to my work computer at my desk. This works, I have total network access to and from both machines.
- I have OpenSSH for Windows running on NG-WORKBOX.
- I have PuTTY on NG-ATHOME connecting to NG-WORKBOX to tunnel dynamically over port 1080. The SOCKS proxy is working, as I can verify that with any web browser. I can confidently say that this is not the problem in the scenario.
- I am using TortoiseSVN on NG-ATHOME configured to use a proxy on 127.0.0.1:1080. When I try to hit "svn://NG-SOURCE/PonyRepository", I get error: cannot connect to host. I can ping NG-SOURCE fine.
Why doesn't SVN work?
Hmm, I have a suspicion that SVN does not like SOCKS. Anyone have a suggestion?
Have you tried forwarding directly to port 3690 on the target machine instead of using socks?
ssh -L 3690:remote:3690
svn info svn://localhost/blahblahblah
If someone is still interested here is a link to a tutorial showing how to set up a tunnel to bypass a firewall.
http://problemssol.blogspot.com/2010/12/ssh-tunelling-to-reach-svn-repository.html
If you have a web server installed on the computer the repository is installed on you can actually use svn on the standard http port 80 alongside the web server using the apache svn module. Just download and activate the required modules:
LoadModule dav_module modules/mod_dav.so
LoadModule dav_fs_module modules/mod_dav_fs.so
# external modules
LoadModule dav_svn_module ../svn/bin/mod_dav_svn.so
LoadModule authz_svn_module ../svn/bin/mod_authz_svn.so
...
<Location /svn >
DAV svn
SVNParentPath D:\Repositories
AuthType Basic
AuthName "Subversion Repository"
AuthUserFile D:\Repositories\permisiuni.conf
Require valid-user
SVNAdvertiseV2Protocol Off # prevents Subversion E160013: '/svn/xxx/!svn/me' path not found* error
</Location>
Of course, you'll have to create permisiuni.conf containing users and passwords in the following format:
username1:password1
username2:password2
username3:password3
精彩评论