最近用 git clone 经常失败(SSH)

2022-11-29 19:45:55 +08:00
 dcsuibian

已设置命令行代理,使用 tun 模式也一样。用 http 协议 clone 就可以

而且也不总是失败,有时候就很顺利,似乎晚上会更容易遇到这种情况。

2944 次点击
所在节点    程序员
14 条回复
dcsuibian
2022-11-29 19:49:27 +08:00
另外用 Gitee 的 git clone 也是这样,所以感觉似乎不是墙的原因
elboble
2022-11-29 19:50:37 +08:00
就是慢,最近玩 sd ,下载模型都是几个 G 的,只能等了。
noe132
2022-11-29 19:54:28 +08:00
ssh 不走 http proxy. 你需要配置 ssh_config , 用 nc (Git\mingw64\bin\connect.exe) 来配置代理
amlee
2022-11-29 20:02:19 +08:00
zenyangfeng
2022-11-29 20:31:19 +08:00
把 windows 的 clash 关了就好了
zenyangfeng
2022-11-29 20:33:24 +08:00
或者开启 clash 的 tun 模式,这样本机所有应用都会走代理
LindsayZhou
2022-11-29 20:47:12 +08:00
如果你有国外服务器的 VPS ,ssh config 里加个 ProxyJump 就好了。
dcsuibian
2022-11-29 21:37:51 +08:00
@zenyangfeng 试了下,原来不是 TUN 没用,是我机场的规则将其直连了,换了个机场开 TUN 就有用了
dcsuibian
2022-11-29 22:05:21 +08:00
@noe132
@amlee
第一次知道 ssh 还需要配这个的,以前配了 http_proxy 、https_proxy ,git clone 速度非常快
现在感觉世界都不同了
dcsuibian
2022-11-29 22:08:38 +08:00
问题已解决,给后来者:

目前我的解决方案是设置~/.ssh/config ,将其改成这样:

Host github.com
ProxyCommand "C:\Program Files\Git\mingw64\bin\connect.exe" -S 127.0.0.1:7890 %h %p

按#4 给的帖子里的内容,但删除调了大部分选项(即采用默认)。另外经我测试,connect 程序必须使用绝对路径。
还有-S 选项是适用于 socks5 协议,而-H 是适合于 http 协议
dcsuibian
2022-11-29 22:15:02 +08:00
花了这么久,问题出在我不熟悉 clashN 上(没有用 clash for windows )

clashN 默认使用 7888 作为本地混合监听端口,7891 做 socks 监听端口,7890 作 http 监听端口。与我之前所用其他软件不同
这意味着如果直接使用-S 127.0.0.1:7890 是不对的。
所以我的做法就是把 7890 改成混合端口,7891 还是做 socks ,7892 做 http ,跟其他软件保持一致。

为了调试方便,可以直接使用 ssh -T git@github.com 检测连接性。同时请将 clashN 的日志登记设成 info ,这样可以看到日志信息。
gidot
2022-11-29 23:15:11 +08:00
@dcsuibian 看着像是被污染了,正想提醒你留意网络安全,没想到居然是梯子问题……那就说得通了,哈哈
qq296015668
2022-11-29 23:24:56 +08:00
额,话说最近 8.8.8.8 解析不是挺好使的吗,可能地区不太一样。
ncepuzs
2022-11-30 09:17:09 +08:00

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/898877

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX