为什么我不能连接到 Git,即使它以前有效?

Why can't I connect to Git even though it worked before?

这个问题已经存在很长一段时间了,这让我很困惑。

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

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

fatal: Could not read from remote repository

Connection closed by 123.45.67.89 port xy

每次。

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

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

由于我对网络或 git.

不是很精通,所以我很高兴得到每一点建议

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

至少 PS 的 "just loads and loads" 部分听起来可能是 MTU 问题。 VPN 降低您的 MTU 并不罕见,并且根据产品和配置,MTU 可能会也可能不会正确传播到您的系统。降低 VPN 接口的 MTU 会有所帮助。

要查找接口及其当前 MTU 值,请使用 ip link(检查 VPN 断开和连接的列表,如果不清楚哪个接口是 VPN 接口,看看有什么变化)。 MTU 通常在 1500 字节左右。

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

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