一种解决方案是在网关主机(服务器1)上准备 SSH隧道 ,并在本地端使用Git(您可能需要使用它
.ssh/options来配置端口)。
另一个是纯Git解决方案,可将 ext::
远程帮助程序与双SSH配合使用(您最好至少在网关上设置基于无密码的基于公钥的身份验证,否则您将必须输入两次密码)。例如:
local ~$ git clone "ext::ssh -t user@server1 ssh server2 %S 'repo'" repoCloning into 'repo'...Checking connectivity... done.
%SGit将在此处将其扩展为适当的服务的全名,
git-upload-pack以进行获取和
git-receive-pack推送。
-t如果登录到内部主机使用交互式身份验证(例如密码),则需要该选项。
请注意,您需要提供要下载的名称或目录,作为
git clone命令的最后一个参数(
repo在此处)到此处生成的存储库;否则,Git将使用命令(
ssh...)作为名称。
然后,您将能够通过名称“ origin”来获取并推送到存储库。



