git push/pull超时

x6492ojm  于 2023-11-15  发布在  Git
关注(0)|答案(5)|浏览(183)

我不能从我的企业VPN git push/pull到github:

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

字符串
我假设这是一个防火墙问题,B/C如果我断开从VPN它的工作.有什么我可以做的工作围绕它?或者我坚持断开从VPN时,我需要推/拉?

u4vypkhs

u4vypkhs1#

不确定你使用的是哪种类型的VPN,但这种影响通常是由于VPN设置通过VPN路由所有流量。你可以通过更新路由表来解决这个问题,通过以太网(我假设)接口而不是VPN将流量路由回github。
例如,route add 65.74.177.129 eth0将通过eth0将流量路由到github。这是Linux语法; Windows也有一个“route”命令,大致相似。
(This并不是git特有的问题,事实上,你应该能够通过尝试使用任何客户端(如telnet、nc或PuTTY)连接到github.com端口22来演示这个问题:sshd通常会在你连接后立即打印一个带有版本号的横幅)

brvekthn

brvekthn2#

我也遇到了同样的问题,为github添加一个路由也解决了我的问题。
windows(或者cygwin)的命令是:route add <ip> <gateway>,所以我的解决方法很简单:route add 207.97.227.239 192.168.0.1
请注意,我使用的github.com的IP与两年前araqnid使用的IP不同。
如果你不确定你添加的路由在一段时间后是否仍然有效,只需输入(在windows或cygwin上)tracert github.com来查看数据包被路由到哪里。如果第一个命中似乎位于你的公司内,你添加的路由不再有效,你需要添加一个新的路由。

0yycz8jy

0yycz8jy3#

**Mac用户:**这发生在我安装更新版本的OS X后立即.在你深入研究更改网络设置之前,我建议做一个额外的重启.这为我纠正了问题.

jogvjijk

jogvjijk4#

增加机器中的ssh连接超时。
创建~/.ssh/config文件(如果不存在)。
将SSH ServerAliveInterval ServerAliveCountMax设置添加到文件中,例如:

  1. Host *
  2. ServerAliveInterval 86400
  3. ServerAliveCountMax 4

字符串
通过VPN在Ubuntu 18.04.4 LTS上测试。
查看更多here

sdnqo3pr

sdnqo3pr5#

我看到github.com仓库使用git:// URL(如git://github.com/pre-commit/pre-commit-hooks)时发生了这种情况。将它们切换到git+ssh://为我修复了它;例如,上面的URL变为git+ssh:// [[email protected]](https://stackoverflow.com/cdn-cgi/l/email-protection) /pre-commit/pre-commit-hooks
这可能需要您先set up ssh keys in github
如果你不想手动更改所有URL,你可以配置git来交换它们:

  1. git config --global url."[email protected]:".insteadOf "git://github.com/"

字符串

相关问题