我们在删除服务器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的任何建议吗?
答案 0 :(得分:5)
如果您在服务器A和服务器B之间进行无密码SSH设置,那么您可以编写一个简单的包装脚本,通过SSH连接到服务器A,并使用Git中的参数运行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