我正在尝试连接到 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