出于某种原因,我无法从我的本地主机A访问以下远程git存储库(git://git.linphone.org/linphone-android.git)。我有另一个远程主机B,可以访问上面的库。主机B上的SSH服务器已启动。
以下步骤基于how-to-use-ssh-tunnel-to-forward-git-protocol:
配置git proxy:
git config --glocal core.gitproxy ck-gitproxy
ck-gitproxy脚本是:
PROXY=127.0.0.1 DEBUG="-d -d -d -d" exec socat $DEBUG STDIO SOCKS4:${PROXY}:$1:$2
在本地主机A上,我打开一个SSH隧道:
ssh -L 9418:git.linphone.org:9418 <host-B-IP>
然后我尝试从主机A克隆存储库。但是以下命令都失败了:
git clone git://git.linphone.org/linphone-android.git git clone git://localhost/linphone-android.git
错误消息:
2015/03/15 13:17:41 socat[3496] N opening connection to AF=2 127.0.0.1:1080
2015/03/15 13:17:41 socat[3496] N opening connection to git.linphone.org:9418 via socks4 server 127.0.0.1:1080 as user "mancook"
2015/03/15 13:17:41 socat[3496] D getaddrinfo("git.linphone.org", NULL, {1,2,1,6,0,(nil),(nil),(nil)}, 0xbffb3708)
2015/03/15 13:17:41 socat[3496] D getaddrinfo(,,,{{AF=2 94.23.19.176:0, }) -> 0
2015/03/15 13:17:41 socat[3496] D socket(2, 1, 6)
2015/03/15 13:17:41 socat[3496] I socket(2, 1, 6) -> 3
2015/03/15 13:17:41 socat[3496] D fcntl(3, 2, 1)
2015/03/15 13:17:41 socat[3496] D fcntl() -> 0
2015/03/15 13:17:41 socat[3496] D connect(3, {2,AF=2 127.0.0.1:1080}, 16)
2015/03/15 13:17:41 socat[3496] D connect() -> -1
2015/03/15 13:17:41 socat[3496] D getsockname(3, 0xbffb36ec, 0xbffb35e8{112})
2015/03/15 13:17:41 socat[3496] D getsockname(, {AF=2 0.0.0.0:41759}, {16}) -> 0
2015/03/15 13:17:41 socat[3496] E connect(3, AF=2 127.0.0.1:1080, 16): Connection refused
2015/03/15 13:17:41 socat[3496] N exit(1)
2015/03/15 13:17:41 socat[3496] I shutdown(3, 2)
2015/03/15 13:17:41 socat[3496] D shutdown() -> -1
2015/03/15 13:17:41 socat[3496] I shutdown(3, 2): Transport endpoint is not connected
我搜索了这个问题一整天,但未能找到解决方案!希望可以有人帮帮我。在此先感谢:)
答案 0 :(得分:0)
我试过
git clone git://git.linphone.org/linphone-android.git
只是现在它自己工作,没有任何额外的设置。也许你过度复杂了?
答案 1 :(得分:0)
谢谢大家。 我用VPN客户端解决了这个问题。