Ezwig Asked: 2018-06-22 01:41:26 +0800 CST2018-06-22 01:41:26 +0800 CST 2018-06-22 01:41:26 +0800 CST 是否可以重定向 ssh 流量(不转发),如何? 772 我知道可以通过创建隧道将 SSH 从服务器 A 转发到服务器 B。 我要的是上面架构中的红色替代方案。能否实现这种场景: SSH 到服务器 A 服务器 A 告诉客户端转到服务器 B 服务器 B 通过 SSH 直接与客户端通信 所以基本上是一种代理,在将客户端-服务器相互介绍之后,他就退出了通信。 我想使用防火墙重定向并不能提供太多自定义。 我最终寻求的是一种通过 SSH 访问 git 镜像对客户端透明的方法,具体取决于地理位置。 高级场景场景 客户端从服务器 A 拉取并更靠近服务器 B 被重定向到 B 推送时,客户端仍然在服务器 A 上 ssh git 2 个回答 Voted user147505 2018-06-22T04:36:00+08:002018-06-22T04:36:00+08:00 你可以想到这种包装: 服务器,或者只是主服务器拥有一个 git transfer 初始化脚本 在客户端中,定义将通过在主服务器(或任何服务器)上执行该脚本来获取目标服务器的 Git 别名 如果您只需要重定向pull,那么您需要一个别名。但可能您还想重定向fetch(如果不是更多命令,我对 Git 不太擅长)。 Best Answer Joe M 2018-06-22T05:11:34+08:002018-06-22T05:11:34+08:00 不幸的是,在 SSH 中没有打开标志来执行此操作。您必须为 GIT 编写一些自定义代码。(即,如果服务器 A 的 ping 时间低于服务器 B,则使用 A,反之亦然)
你可以想到这种包装:
如果您只需要重定向
pull
,那么您需要一个别名。但可能您还想重定向fetch
(如果不是更多命令,我对 Git 不太擅长)。不幸的是,在 SSH 中没有打开标志来执行此操作。您必须为 GIT 编写一些自定义代码。(即,如果服务器 A 的 ping 时间低于服务器 B,则使用 A,反之亦然)