我有一个客户端,我需要访问SVN + SSH设置。不幸的是,我无法将我的IP列入白名单,因为我在康卡斯特,他们有一些安全政策。但是,我确实可以SSH访问另一台我可以通过SSH连接的机器,也可以通过SSH连接到SVN服务器(通过非标准端口)...所以总循环需要看起来像:
Local Computer (OSX) --SSH--> Server1 --SVN+SSH_4567--> SVN Server
我知道如何设置基本的SSH隧道,但我不知道如何设置它,或者甚至可能。救命? :)
请注意理想,我可以在~/.ssh/config
和~/.subversion/config
中以某种方式设置此项,而不必每次都从A-> B-> C进行手动隧道我想进行提交/更新
答案 0 :(得分:3)
ssh -L 1234:svnserver:4567 server1
隧道连接将是
ssh -p 1234 localhost
要稍微自动化,您可以将隧道连接添加到~/.subversion/config
:
[tunnels]
tssh = ssh -p 1234
然后使用svn+tssh://localhost/path/to/repo
但我不知道如何自动创建隧道。
答案 1 :(得分:1)
打开Server1
的SSH会话并在该会话中设置隧道:
ssh server1 -L 9000:127.0.0.1:svnserver:22
PS。您可能需要检查ssh man
页面的语法。我不记得打开隧道的正确标志。
然后在本地,您使用svn+ssh://localhost:9000