V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
shiziqyf
V2EX  ›  程序员

软路由设置代理后 git pull/push 无法连接

  •  1
     
  •   shiziqyf · 117 天前 · 1817 次点击
    这是一个创建于 117 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我在软路由上加了代理后,git pull/push 无法连接,仓库是 github, 大伙们知道咋回事吗。

    路由器系统是 OpenWrt,代理软件用的 PassWall 。

    如果设置 github 不走代理就可以正常使用。

    第 1 条附言  ·  115 天前
    感谢大家的回复。

    问题原因就是大家的说的,机场封了 22 端口

    解决方案可以参考 6 楼回的链接 https://v2ex.com/t/843383
    github 的另一个域名 ssh.github.com 提供了 443 端口的 SSH 服务
    只需要修改 ssh 的配置使用这个域名就可以了

    也可以参考这个链接
    https://zhutmost.com/Engineering/github-ssh-443/
    23 条回复    2023-06-09 15:45:26 +08:00
    totoro52
        1
    totoro52  
       117 天前
    我昨天也遇到你这个问题了,我捣鼓了很多方法都没办法解决,最后的解决方案是放弃 ssh ,改用 https
    mohumohu
        2
    mohumohu  
       117 天前
    可能是你的节点不允许连接 22 端口。用 https clone 试试。
    totoro52
        3
    totoro52  
       117 天前
    @mohumohu 有可能,也可以改用 443 端口,还不行的话,改用 https 吧
    BaseException
        4
    BaseException  
       117 天前
    我一直用 ssh port 443 clone

    ```
    Host github.com
    HostName ssh.github.com
    IdentityFile /Users/xxx/.ssh/xxx_id_rsa
    User git
    Port 443
    ProxyCommand nc -v -x 10.10.10.1:7890 %h %p
    ```

    10.10.10.1:7890 是我 openWrt 软路由的透明代理,用的是 Shadow. socks R Plus +
    ncepuzs
        5
    ncepuzs  
       117 天前
    机场节点屏蔽 22 端口,参考楼上设置,配置文件为 ~/.ssh/config
    amlee
        6
    amlee  
       117 天前
    作为程序员,问题最起码搜索一下站内吧,我都发过好几次这个帖子链接了。。。。。

    https://v2ex.com/t/843383
    yolooo
        7
    yolooo  
       117 天前
    @amlee #6 太长不看......
    指标不治本
    yolooo
        8
    yolooo  
       117 天前   ❤️ 3
    一看就是用 openwrt openclash 导致的

    一行代码解决这个问题

    openclash -> 全局设置 -> 规则设置(访问控制)-> 勾选 自定义规则(访问控制)

    在第一个 textarea ,rules: 下面加这一行

    ```
    - DST-PORT,22,GLOBAL
    ```

    保存设置即可
    bjzhou1990
        9
    bjzhou1990  
       117 天前
    @yolooo #8 应该是- DST-PORT,22,DIRECT
    yolooo
        10
    yolooo  
       117 天前
    不过 OP 是 Passwall ,不是 openclash ,不过原理一样的

    设置自定义规则,指定 22 端口走代理即可
    CEBBCAT
        11
    CEBBCAT  
       117 天前
    @amlee #6 可以贴一下你用的关键词吗?我使用 “代理 无法 git github site:v2ex.com”在首页找不到相关的帖子。

    关于这个问题本身,也就是机场 dump tcp.port==22 的包,太难排查了,而机场也不明示哪些端口不能代理(至少我用的那个是这样子的)
    yolooo
        12
    yolooo  
       117 天前
    @bjzhou1990 #9 如果直连可以的话 DIRECT 也可以,我直连巨慢,索性直接全走 GLOBAL ,速度快的一笔
    fatelight
        13
    fatelight  
       117 天前
    鸡场 封 22 大部分机场都封
    FrankAdler
        14
    FrankAdler  
       117 天前
    我再补充一点,通过代理连接 22 ,看起来像是机场的机器大量对外连接 22 ,会导致他们收到惩罚,认为是在扫描肉鸡、攻击等行为,所以机场会禁止 22 出口。以及用机场下 BT 、PT 也可能导致他们收到处罚,所以也可能会禁止,部分 GOV 网站禁止访问也是因为被罚过。
    amlee
        15
    amlee  
       117 天前
    @yolooo #7 你有本事去把墙给扒了吧,那个治本
    amlee
        16
    amlee  
       117 天前
    @CEBBCAT site:v2ex.com/t github 代理
    Anarchy
        17
    Anarchy  
       117 天前 via Android
    机场问题,改用 443 吧。具体可以看这个 https://github.com/vernesong/OpenClash/issues/1960
    Jirajine
        18
    Jirajine  
       117 天前
    几年不看,连 22 端口大部分机场都封了?
    从禁轮子,到禁政治网站,到禁外媒网站,到禁 tor 官网,到禁 smtp ,到禁含 torrent 关键词的网站,到禁金融网站,到禁矿池,国人在造墙这个领域总是如此跃进。然而我仍然预想不到,连 22 端口 ssh 都能禁?这机场是只卖给看流媒体的不卖给程序员了?
    ncepuzs
        19
    ncepuzs  
       117 天前
    @yolooo 你不会只知道个 dst-port 吧,我觉得你才是治标不治本。而且,这跟 openclash 有什么关系?
    机场或者本地防火墙封 22 端口的话,你这样设置有什么用?
    还有其他情景:
    如果是 git over https 的话,这样没用;
    如果是 git over ssh 且端口是 443 的话,这样没用;
    连接改了 ssh 端口的 vps ,这样没用……
    totoro52
        20
    totoro52  
       116 天前
    @Jirajine 机场一般都是服务海外看流媒体或者查文献的
    missdeer
        21
    missdeer  
       116 天前
    反正我现在是自己搭服务器从 sh=>hk=>gh 这样 ssh 跳出去的,我之前也是遇到和 OP 一样的问题,就没想明白,原来是机场禁了 22 端口
    ZxykM
        22
    ZxykM  
       116 天前
    我记得 clash 也有相关问题,最后直接改用 https 了,官方也有教程
    yolooo
        23
    yolooo  
       116 天前
    @ncepuzs #19 那就折腾呗,哪种方法能让你不折腾你就用哪种

    我是一行能解决,坚决不用两行
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   1670 人在线   最高记录 6067   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 35ms · UTC 00:19 · PVG 08:19 · LAX 17:19 · JFK 20:19
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.