我正在努力解决这个问题,也许有人可以帮助我更好地理解这一点。我发现了一个几乎是我想做的问题,称为Accessing Subversion repository with 2 hops using svn+ssh protocol
这是我想做的事情:
我想在我的 Live 服务器上签出一个 svn 项目,但 svn 服务器无法在 Internet 上访问。所以我需要通过 ssh 隧道进入我的主网络服务器,然后进入 SVN 服务器,然后将文件签出到 Live 服务器
为了清楚起见,这里有一些虚构的设置:
- 实时服务器:(eth0)10.123.210.123
- 网络服务器:(eth0) 10.89.123.123 和 (eth1) 192.168.1.1
- SVN 服务器:(eth0) 192.168.1.8
所有服务器都使用端口 9222 上的密钥文件进行身份验证,并且服务器有一个具有有效密钥的用户管理员。所以管理员几乎可以从任何服务器登录到每台服务器,Live 无法从逻辑上直接访问 SVN。
因此,根据上述帖子中的@epsilon-prime,我应该在 Live 服务器上设置 /home/admin/.ssh/config
Host mysubversionserver
HostName = 10.89.123.123
ProxyCommand = ssh 192.168.1.1 /usr/local/bin/nc -w 10 192.168.1.8 %p
ForwardX11 = no
User = admin
ForwardAgent = yes
除了我无法连接到这个设置之外,我真的不明白这将如何帮助我进入颠覆服务器。一旦使用这个 ssh,我就在 subversion 服务器上,但我需要在带有这个隧道的 Live 服务器上......或者我只是错过了一些非常明显的东西?