首页 > 解决方案 > 为什么我无法连接到 Git,即使它以前工作过?

问题描述

这个问题已经有一段时间了,真的让我很困惑。

这一切都始于我的大学使用不同的 vpn 客户端。我需要连接到 vpn 才能访问我们实验室的 git 服务器,并且我们需要使用 ssh(不知道为什么 http 不起作用,但这就是我开始从事该项目时被告知的内容)。除了推,一切都很好。我可以克隆、拉取、获取但也不能推送。那时我一直在使用 Ubuntu 16,所以我将此归咎于它。

现在我在 Ubuntu 18 上,我只能偶尔连接到 Git。就在上周,我能够拉和推,但现在我得到了

致命:无法从远程存储库中读取

或者

连接被123.45.67.89端口xy关闭

每次。

我使用与上周相同的 ssh 密钥。我使用 ssh-add 添加了密钥,并尝试重新启动 ssh 代理,但没有任何效果。我重新连接到 vpn 几次,但这不会改变任何事情。不过,我可以使用浏览器访问 git 服务器。

据我所知,我是唯一一个面临此类问题的人,所以这可能是我这边的一个问题。我只是不明白为什么 ssh 密钥时不时地工作,即使我没有做任何不同的事情。

我会很高兴收到每一条建议,因为我不太熟悉网络或 git。

Ps:我注意到的另一件事:在 Ubuntu 16 上,我已经能够将新的 ssh 密钥添加到我的个人资料中。现在我可以看到我的 ssh-keys 并输入一个新的,但是当我尝试添加它时,网站只是加载和加载,但没有任何反应。这对我来说非常令人困惑,因为我的帐户具有与以前相同的权限。

标签: gitvpnssh-keys

解决方案


至少 PS 的“只是加载和加载”部分听起来可能是 MTU 问题。VPN 降低您的 MTU 并不少见,根据产品和配置,MTU 可能会或可能不会正确传播到您的系统。降低 VPN 接口的 MTU 会有所帮助。

要查找接口及其当前 MTU 值,请使用ip link(在 VPN 已断开和已连接的情况下检查列表,以查看如果哪个接口是 VPN 接口不明显会发生什么变化)。MTU 通常在 1500 字节左右。

然后使用 降低 MTU ip link set <vpnInterfaceName> mtu <newMTUValue>。从低值开始(1000 应该可以)。如果确实是 MTU 问题,那么您的连接应该开始工作。然后,您可以逐渐增加该值,直到您再次看到问题为止(或者如果您不介意增加的开销,则将其保持在较低水平)。

MTU 也可以在网络配置 GUI 中设置,它也将在重新启动后应用。


推荐阅读