我是fedora 20用户。克隆存储库时,出现以下错误:“克隆到’git_missions’…致命:无法访问’ https://openhatch.org/git-mission- data/git/hithard/ ‘:无法与之安全通信peer:没有通用的加密算法。
我没有得到做什么?需要帮助。
最简单的解决方案是使用http而不是https:
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.
我认为错误本身(“没有通用的加密算法”)是准确的;看来伺服器想使用git的基础SSL程式库不支援的某种椭圆曲线密码(TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256)。您可以使用类似的方法wireshark来捕获git和服务器之间的SSL握手,并查看来回传递的选项。
wireshark
至少在我的系统上,curl似乎不支持这种加密法,并git利用libcurl处理HTTPS / HTTP连接。
curl
git
libcurl
更新资料
因此,根据我对@mattdm的最新评论,我发现curl系统上使用的是NSS加密库,其工作原理如下:
curl --ciphers ecdhe_ecdsa_aes_128_gcm_sha_256 https://openhatch.org/
不幸的是,没有任何方法可以将密码列表传递给git。做到这一点的补丁是微不足道的- 这是我刚刚制作的一个版本 -但我不知道在上游获得接受的可能性。