通过反向 SSH 实现 SVN 的最佳方法

通过反向 SSH 实现 SVN 的最佳方法

通过反向 ssh 执行 svn 提交的最佳方法是什么?

通常,使用 svn 时,我们通过 svn+ssh 访问它,但我遇到过这种情况,进行修改的框无法通过 ssh 进入 svn 服务器,但反之则不然,svn 服务器可以通过 ssh 进入更改框。因此,我真正想做的是进入 svn 服务器并告诉它远程连接、添加文件并提交。

我想到唯一的方法是从 svn 服务器通过 ssh 连接到更改框,为 ssh 打开一个隧道,然后使用 svn+ssh 通过第一个连接建立隧道,这看起来过于复杂。

有没有更好的方法通过 SSH 进行反向连接?

svn 服务器是 FreeBSD,而更改框是 OpenSuse。我可以提出一个请求来打开防火墙的漏洞;在考虑所有请求时,一个自然的问题是这是否有必要,有哪些替代方案以及它们相关的痛苦程度

答案1

一种可能性是启动 svn 服务器上的 snvserve,启动从 svn 服务器到更改框的反向隧道,然后在更改框上运行 svn,就像它正在与本地 svnserve 实例对话一样。ssh 设置如下

user@svnserver$ ssh -R 3690:localhost:3690 changebox

ssh 的标志-R“指定远程(服务器)主机上的给定端口将被转发到本地的给定主机和端口。”

相关内容