gpt4 book ai didi

svn 超过 2 个 ssh 隧道

转载 作者:行者123 更新时间:2023-12-03 03:23:49 25 4
gpt4 key购买 nike

我正在努力让它发挥作用,也许有人可以帮助我更好地理解这一点。我发现了一个几乎是我想做的问题,名为 Accessing Subversion repository with 2 hops using svn+ssh protocol

Here is what I want to do:

我想在我的 Live 服务器上 checkout svn 项目,但无法通过 Internet 访问 svn 服务器。因此,我需要通过 ssh 隧道进入我的主网络服务器,然后进入 SVN 服务器,然后将文件 check out 到 Live 服务器

为清楚起见,这里有一些虚构设置:

  1. 实时服务器:(eth0) 10.123.210.123
  2. 网络服务器:(eth0) 10.89.123.123 和 (eth1) 192.168.1.1
  3. SVN 服务器:(eth0) 192.168.1.8

所有服务器都使用端口 9222 上的 key 文件进行身份验证,并且服务器有一个拥有有效 key 的用户管理员。所以admin可以从几乎任何服务器登录到每个服务器,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

除了我无法连接此设置之外,我真的不明白这将如何帮助我访问 subversion 服务器。一旦使用这个 ssh,我就在颠覆服务器上,但我需要在带有这个隧道的实时服务器上......或者我只是错过了一些非常明显的东西?

最佳答案

因此,经过大量阅读和更多阅读后,我终于找到了一些对我的问题的解释,并意识到这个配置不起作用,而是 @Rup 是正确的,尽管他的语法有点错误。

无论如何都要结束这个问题,并为其他搜索者提供一些有用的信息,这里是在 Linux 中使用配置文件创建隧道的正确方法

Host FireWallServer
HostName <FireWall Server IP>
User admin
IdentityFile ~/.ssh/id_rsa
PasswordAuthentication no
Compression yes
ForwardX11 no

Host SVNServer
ProxyCommand ssh FireWallServer nc <SVN Server IP> %p
ForwardAgent yes

您的第一个 friend 将是ma​​n ssh_config,因为它包含您需要的大部分信息。我在 Transparent Multi-hop SSH 上找到了一个很好的解释因此,最终的最佳解决方案是建立本地端口转发隧道:

ssh -L 9223:<SVN Server IP>:80 admin@<FireWall Server IP>

现在打开另一个终端并在此隧道上执行 svn 查询:

svn info http://localhost:9223/<path to your svn repo>

但是,要使这种方式发挥作用,需要几个必须具备的:

  1. 所有服务器必须配置为使用 ssh_key 接受用户 admin 在端口 9222 上的 ssh
  2. 所有服务器必须配置 ssh 守护程序才能使用相同端口
  3. SVN 必须配置为使用 mod_dav 在 apache 上运行

希望它对某人有用:)

关于svn 超过 2 个 ssh 隧道,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8212320/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com