8wDlpd.png
8wDFp9.png
8wDEOx.png
8wDMfH.png
8wDKte.png

推送时出现“远程主机关闭与 github.com 的连接”

Goran_Ilic_Ilke 2月前

64 0

我有一个项目,每次我使用 SSH 密钥(在 Windows 上)将 git push 到我的 GitHub 帐户时,命令行都会挂起几分钟,然后我最终收到错误连接到 github.com

我有一个项目,每次我 git push 使用 SSH 密钥(在 Windows 上)登录我的 GitHub 帐户时,命令行都会挂起几分钟,然后我最终收到错误, Connection to github.com closed by remote host. 我可以执行 git pull git fetch 成功。我也可以 ssh -T [email protected] 成功完成。

我已经成功推送了这个项目一段时间。我认为这个问题始于我切换到使用 OpenSSH 作为我的 SSH 代理并将其配置为对不同的 SSH 帐户使用两个不同的密钥。但是,我已禁用单独的密钥(我重命名了我的 .ssh\config 文件)进行测试,但仍然遇到同样的问题。

我尝试将该项目克隆到计算机上的另一个位置,对其进行更新,然后 git push 从新克隆的存储库中执行并正常运行。

我的原始 repo git remote show origin 的结果

* remote origin
  Fetch URL: [email protected]:MyUserName/MyRepo.git
  Push  URL: [email protected]:MyUserName/MyRepo.git
  HEAD branch: master
  Remote branches:
    develop tracked
    master  tracked
    test    new (next fetch will store in remotes/origin)
  Local branches configured for 'git pull':
    develop merges with remote develop
    master  merges with remote master
  Local refs configured for 'git push':
    develop pushes to develop (fast-forwardable)
    master  pushes to master  (fast-forwardable)

我新克隆的仓库 git remote show origin 的结果 test 分支是我创建的新分支,因此我没有覆盖 master .

* remote origin
  Fetch URL: [email protected]:MyUserName/MyRepo.git
  Push  URL: [email protected]:MyUserName/MyRepo.git
  HEAD branch: master
  Remote branches:
    develop tracked
    master  tracked
    test    tracked
  Local branches configured for 'git pull':
    master merges with remote master
    test   merges with remote test
  Local refs configured for 'git push':
    master pushes to master (up to date)
    test   pushes to test   (up to date)
帖子版权声明 1、本帖标题:推送时出现“远程主机关闭与 github.com 的连接”
    本站网址:http://xjnalaquan.com/
2、本网站的资源部分来源于网络,如有侵权,请联系站长进行删除处理。
3、会员发帖仅代表会员个人观点,并不代表本站赞同其观点和对其真实性负责。
4、本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报
5、站长邮箱:yeweds@126.com 除非注明,本帖由Goran_Ilic_Ilke在本站《git》版块原创发布, 转载请注明出处!
最新回复 (0)
  • @bk2204 我尝试使用你在 Git Bash 中提供的命令,它在我的两个设备上都成功推送

  • 我无法解释长时间挂起的原因,但最终的 Connection to github.com closed by remote host 消息可能是由于您与 GitHub 的 SSH 连接超时造成的。我最近帮助一位同事解决了类似的问题,我们的 Husky 预推送钩子在她的机器上花了很长时间才能完成。钩子完成时,她收到了相同的 Connection to github.com closed by remote host 消息。

    我们发现解决方案是通过 ServerAliveInterval 在她的文件中 ServerAliveCountMax .ssh\config 状态。例如,添加以下设置将每 60 秒向服务器发送一个空数据包(保持连接处于活动状态),持续 30 轮。这将为您赢得 30 分钟的连接时间。

    Host *
      ServerAliveInterval 60
      ServerAliveCountMax 30
    

    您可以根据您的需要调整这些值。

  • 使用 Husky 预推送钩子将相同的问题和解决方案推送到 bitbucket.org

  • 使用 --no-verify 进行推送帮助我通过,尽管这只是绕过了预推送挂钩。

  • 根据 wmcb91 的回答 ,您可以明确设置 GitHub 主机下的时间指令。请参阅 github ssh 文档 ,了解如何在 ~/.ssh/config

    Host *.github.com
        StrictHostKeyChecking yes
        IdentityFile ~/.ssh/github
        ServerAliveInterval 60
        ServerAliveCountMax 30
    
返回
作者最近主题: