gpt4 book ai didi

linux - 使用双 SSH 的 Git

转载 作者:太空狗 更新时间:2023-10-29 11:37:14 25 4
gpt4 key购买 nike

我有:本地、服务器 1、服务器 2。

我在服务器 2 上有 Git 存储库。但我无法连接它。我可以使用 SSH 连接到服务器 1,然后使用 SSH 连接到服务器 2。

如何使用双 SSH 将提交推送到 server2?可能吗?

最佳答案

一种解决方案是在网关主机(server1)上准备SSH隧道,并在本地端使用Git(您可能需要使用.ssh/options来配置端口)。

另一个是使用的纯Git解决方案ext:: remote helper 使用双 SSH(您最好至少在网关上设置无密码的基于公钥的身份验证,否则您将不得不输入两次密码)。例如:

local ~$ git clone \
"ext::ssh -t user@server1 ssh server2 %S 'repo'" repo
Cloning into 'repo'...
Checking connectivity... done.

这里的%S会被Git扩展为相应服务的全名,git-upload-pack用于抓取,git-receive-pack用于推送。如果登录到内部主机使用交互式身份验证(例如密码),则需要 -t 选项。

请注意,您需要将要下载的名称或目录作为 git clone 命令(此处为 repo)的最后一个参数提供给此处生成的存储库;否则 Git 将使用命令 (ssh ...) 作为名称。

然后您就可以通过名称“origin”获取并推送到存储库。

关于linux - 使用双 SSH 的 Git,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28200914/

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