通过第三台机器的 SVN-SSH 隧道?
Posted
技术标签:
【中文标题】通过第三台机器的 SVN-SSH 隧道?【英文标题】:SVN-SSH Tunnel via 3rd machine? 【发布时间】:2011-08-12 13:50:55 【问题描述】:我有一个设置了 SVN+SSH 的客户端,我需要访问它。不幸的是,我无法将我的 IP 列入白名单,因为我在 Comcast 上,而且他们有一些针对此的安全策略。但是,我确实可以通过 SSH 访问另一台机器,我可以通过 SSH 连接到该机器也可以通过 SSH 连接到 SVN 服务器(通过非标准端口)......所以整个循环需要看起来像:
Local Computer (OSX) --SSH--> Server1 --SVN+SSH_4567--> SVN Server
我知道如何设置基本的 SSH 隧道,但我不确定如何设置,或者是否可行。帮助? :)
请注意,理想情况下,我可以在 ~/.ssh/config
和 ~/.subversion/config
中以某种方式进行设置,而不必每次我想提交时都从 A->B->C 手动隧道/更新
【问题讨论】:
【参考方案1】:ssh -L 1234:svnserver:4567 server1
隧道连接将是
ssh -p 1234 localhost
为了稍微自动化,您可以将隧道连接添加到~/.subversion/config
:
[tunnels]
tssh = ssh -p 1234
然后使用svn+tssh://localhost/path/to/repo
,但我不知道自动创建隧道的方法。
【讨论】:
【参考方案2】:打开到Server1
的 SSH 会话并在该会话中设置隧道:
ssh server1 -L 9000:127.0.0.1:svnserver:22
PS。您可能需要检查 ssh man
页面的语法。我不记得打开隧道的正确标志。
然后在本地,使用svn+ssh://localhost:9000
连接到服务器
【讨论】:
这如何让我进入 SVN 服务器? er,对不起,我忘了输入svnserver
部分。答案已相应编辑。
ssh Server1 -L 1234:127.0.0.1:SVNServer:4567
给出 "Bad local forwarding specification"(4567 是 SVNServer 的 SSH 端口)以上是关于通过第三台机器的 SVN-SSH 隧道?的主要内容,如果未能解决你的问题,请参考以下文章
使用带有公钥和密码的 SSH 隧道通过 SQLAlchemy 连接到远程 PostgreSQL 数据库,所有这些都来自 Windows 机器