【问题标题】:git push/pull times outgit 推/拉超时
【发布时间】:2010-10-19 22:28:31
【问题描述】:

我无法从我的公司 vpn git push/pull 到 github:

git push origin master
ssh: connect to host github.com port 22: Connection timed out
fatal: The remote end hung up unexpectedly

我认为这是一个防火墙问题,b/c 如果我断开与 vpn 的连接,它可以工作。我能做些什么来解决它吗?或者当我需要推/拉时,我是否卡在与 vpn 断开连接?

【问题讨论】:

    标签: git timeout firewall


    【解决方案1】:

    增加您机器中的 ssh 连接超时时间。

    创建 ~/.ssh/config 文件(如果它不存在)。

    在文件中添加 SSH ServerAliveInterval ServerAliveCountMax 设置,例如:

    Host *
         ServerAliveInterval 86400
         ServerAliveCountMax 4
    

    通过 vpn 在 Ubuntu 18.04.4 LTS 上测试。

    here查看更多信息

    【讨论】:

      【解决方案2】:

      Mac 用户:我在安装更新版本的 OS X 后立即发生这种情况。在您深入研究更改网络设置之前,我建议您重新启动一次。这为我解决了这个问题。

      【讨论】:

        【解决方案3】:

        我遇到了完全相同的问题,为 github 添加路由也解决了我的问题。

        windows(或者在我的例子中是 cygwin)的命令是:route add <ip> <gateway>。 所以为我解决的问题很简单:route add 207.97.227.239 192.168.0.1

        请注意与两年前的 araqnid 相比,我使用的 github.com 的 IP 不同。 :)

        如果您不确定添加的路由在一段时间后是否仍然有效,只需键入(在 Windows 或 cygwin 上)tracert github.com 以查看数据包的路由位置。如果第一个命中似乎位于您的公司内部,则您添加的路线不再有效,您需要添加新路线。

        【讨论】:

        • 你能告诉如何在 Mac 上做吗?
        【解决方案4】:

        不确定您使用的是哪种类型的 VPN,但这种影响通常是由于 VPN 设置通过 VPN 路由您的所有流量。您可以通过更新路由表以通过以太网(我假设)接口而不是通过 VPN 将流量路由回 github 来解决此问题。

        例如route add 65.74.177.129 eth0 将通过 eth0 将流量路由到 github。这是 Linux 语法; Windows 也有一个大致相似的“路由”命令。

        (这实际上并不是 git 特有的问题,实际上您应该能够通过尝试使用任何客户端(例如 telnet、nc 或 PuTTY)连接到 github.com 端口 22 来证明该问题:sshd 通常会连接后立即打印带有版本号的横幅)

        【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2014-01-24
        • 2016-05-09
        • 2013-07-08
        • 2015-12-19
        • 2013-01-23
        • 2011-11-06
        • 2016-12-31
        相关资源
        最近更新 更多