与 gitlab.com 的 ssh 连接在家庭路由器后面失败,但在工作场所时正常。然而,Github 和 Bitbucket 通过 ssh 在家里没问题

与 gitlab.com 的 ssh 连接在家庭路由器后面失败,但在工作场所时正常。然而,Github 和 Bitbucket 通过 ssh 在家里没问题

我正在尝试连接到 gitlab.com 上的存储库。

当我在家和工作时,它都可以在我的笔记本电脑上运行。我正在使用 ssh 并将 ssh 密钥添加到 gitlab。

几天前突然停止在家工作:我得到:

$ git pull
Connection closed by 54.93.71.23
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

在我的工作网络中,在同一台笔记本电脑上,使用 ssh 可以正常工作。

所以现在我切换到 https,它在大多数情况下都有效,但偶尔它会挂起,我得到:

fatal: The remote end hung up unexpectedly
error: RPC failed; result=56, HTTP code = 0

从我的工作来看,这种情况永远不会发生,即使我尝试在半小时后提交相同的更改。

ssh 可能有什么问题?我是否处于路由器防火墙后面或者我的提供商是否更改了某些内容?

编辑1:git pull 的输出,将 LogLevel DEBUG3 添加到我的 .ssh/config 中:

debug2: kex_parse_kexinit: none,[email protected]
debug2: kex_parse_kexinit: none,[email protected]
debug2: kex_parse_kexinit: 
debug2: kex_parse_kexinit: 
debug2: kex_parse_kexinit: first_kex_follows 0 
debug2: kex_parse_kexinit: reserved 0 
debug2: mac_setup: setup [email protected]
debug1: kex: server->client aes128-ctr [email protected] none
debug2: mac_setup: setup [email protected]
debug1: kex: client->server aes128-ctr [email protected] none
debug1: sending SSH2_MSG_KEX_ECDH_INIT
debug1: expecting SSH2_MSG_KEX_ECDH_REPLY
Connection closed by 54.93.71.23
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

编辑2: https 连接偶尔会挂起,但经过多次测试,我这边没有 MTU 问题。供应商可能有一些失败。 Github 和 Bitbucket 通过 ssh 工作得非常好。

谢谢!

答案1

将 /etc/ssh/ssh_config 编辑为:

GSSAPIAuthentication yes
GSSAPIDelegateCredentials no
Ciphers aes128-ctr,aes192-ctr,aes256-ctr,arcfour256,arcfour128,aes128-cbc,3des-cbc
MACs hmac-md5,hmac-sha1,[email protected],hmac-ripemd160

相关内容