无法与对等方安全通信:没有通用的加密算法

hit*_*ard 3 git encryption algorithm fedora20

我是fedora 20用户.在克隆存储库时,我收到以下错误:"克隆到'git_missions'...致命:无法访问' https://openhatch.org/git-mission-data/git/hithard/ ':无法安全地与peer:没有通用的加密算法."

我不知道该怎么办?需要帮助.

lar*_*sks 8

最简单的解决方案就是使用http而不是https:

$ git clone http://openhatch.org/git-mission-data/git/hithard/
Cloning into 'hithard'...
remote: Counting objects: 3, done.
remote: Total 3 (delta 0), reused 0 (delta 0)
Unpacking objects: 100% (3/3), done.
Checking connectivity... done.
Run Code Online (Sandbox Code Playgroud)

我认为错误本身("没有通用的加密算法")是准确的; 看来服务器想要使用git底层SSL库不支持的某种椭圆曲线密码(TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256).您可以使用类似的wireshark方法捕获git和服务器之间的SSL握手,并查看来回传递的选项.

至少在我的系统上,curl似乎不支持这种加密法,并git利用libcurl处理HTTPS/HTTP连接.

更新

所以,基于我对@mattdm的最后评论,我在其中发现curl我的系统使用的是NSS加密库,以下工作原理如下:

curl --ciphers ecdhe_ecdsa_aes_128_gcm_sha_256 https://openhatch.org/
Run Code Online (Sandbox Code Playgroud)

不幸的是,没有任何方法可以将密码列表传递给git.让它这样做的补丁是微不足道的 - 这是我刚刚制作的一个版本 - 但我不知道上游接受这个版本的可能性是多少.