我不能从我的企业VPN git push/pull到github:
git push origin masterssh: connect to host github.com port 22: Connection timed outfatal: The remote end hung up unexpectedly
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时,我需要推/拉?
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通常会在你连接后立即打印一个带有版本号的横幅)
route add 65.74.177.129 eth0
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来查看数据包被路由到哪里。如果第一个命中似乎位于你的公司内,你添加的路由不再有效,你需要添加一个新的路由。
route add <ip> <gateway>
route add 207.97.227.239 192.168.0.1
tracert github.com
0yycz8jy3#
**Mac用户:**这发生在我安装更新版本的OS X后立即.在你深入研究更改网络设置之前,我建议做一个额外的重启.这为我纠正了问题.
jogvjijk4#
增加机器中的ssh连接超时。创建~/.ssh/config文件(如果不存在)。将SSH ServerAliveInterval ServerAliveCountMax设置添加到文件中,例如:
Host * ServerAliveInterval 86400 ServerAliveCountMax 4
Host *
ServerAliveInterval 86400
ServerAliveCountMax 4
字符串通过VPN在Ubuntu 18.04.4 LTS上测试。查看更多here
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来交换它们:
git://
git://github.com/pre-commit/pre-commit-hooks
git+ssh://
git+ssh:// [[email protected]](https://stackoverflow.com/cdn-cgi/l/email-protection) /pre-commit/pre-commit-hooks
git config --global url."[email protected]:".insteadOf "git://github.com/"
字符串
5条答案
按热度按时间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通常会在你连接后立即打印一个带有版本号的横幅)
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
来查看数据包被路由到哪里。如果第一个命中似乎位于你的公司内,你添加的路由不再有效,你需要添加一个新的路由。0yycz8jy3#
**Mac用户:**这发生在我安装更新版本的OS X后立即.在你深入研究更改网络设置之前,我建议做一个额外的重启.这为我纠正了问题.
jogvjijk4#
增加机器中的ssh连接超时。
创建~/.ssh/config文件(如果不存在)。
将SSH ServerAliveInterval ServerAliveCountMax设置添加到文件中,例如:
字符串
通过VPN在Ubuntu 18.04.4 LTS上测试。
查看更多here
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来交换它们:
字符串