使用ssh链接从远程服务器进行git clone

时间:2011-10-18 07:25:38

标签: git ssh

我们在删除服务器A上有一个git存储库。我通常从我的工作机器通过ssh访问它,例如

git clone user@A:/path/to/repo 

但是,A不能直接从外部工作中访问。还有另一台服务器B,我可以将其输入到A.然后我想要做的就是在家里的机器上克隆存储库。我试过像

这样的东西
git clone B:A:/path/to/repo
git clone user@B:A/path/to/repo

两者都不起作用。我想我可以复制B上的回购并从那里克隆,但将更改合并回A将是一件麻烦事。有关我如何直接访问A的任何建议吗?

2 个答案:

答案 0 :(得分:5)

如果您在服务器A和服务器B之间进行无密码SSH设置,那么您可以编写一个简单的包装脚本,通过SSH连接到服务器A,并使用Gi​​t中的参数运行SSH命令。<​​/ p>

创建脚本:

cat << EOF > ssh-wrapper.sh
#!/bin/sh
ssh -T serverB.example.com ssh ${@}
exit $?
EOF
chmod 755 ssh-wrapper.sh

然后将GIT_SSH设置为./ssh-wrapper.sh并调用Git:

GIT_SSH='./ssh-wrapper.sh' git clone user@A:/path/to/repo

答案 1 :(得分:2)

我认为你想要一个SSH隧道来通过A. 看看这个: http://www.revsys.com/writings/quicktips/ssh-tunnel.html