Atualmente, estou usando o RedHat Enterprise 6. O Git tinha problemas para clonar repos do Github usando HTTPS. Após alguma investigação (por exemplo, ativar GIT_CURL_VERBOSE e GIT_TRACE), o problema foi reduzido a um problema de validação de certificado, o qual foi resolvido atualizando o banco de dados do certificado, ou seja:
curl http://curl.haxx.se/ca/cacert.pem -o /etc/pki/tls/certs/ca-bundle.crt
As coisas funcionaram bem por um tempo. No entanto, depois de uma atualização do sistema, estou recebendo um erro diferente:
Couldn't find host github.com in the .netrc file; using defaults
* About to connect() to github.com port 443 (#0)
* Trying 192.30.252.128... * Connected to github.com (192.30.252.128) port 443 (#0)
* Initializing NSS with certpath: sql:/etc/pki/nssdb
* NSS error -5978
* Expire cleared
Infelizmente não encontrei essa descrição do código de erro na documentação .
Parece que o sistema atualizado da biblioteca CURL padrão é NSS e depende exclusivamente dos certificados em / etc / pki / nssdb
Eu tenho tentado resolver esse problema tentando diferentes comandos para adicionar os certificados ao NSS, mas falhou.
Você pode recomendar uma solução? É possível forçar o Git e / ou o CURL a usar o banco de dados do pacote CA, ou até mesmo desabilitar a validação do certificado?
Qualquer solução que possa permitir que os comandos do Git sejam executados usando os repositórios do Github será bem-vinda.
Notas:
versão Curl
curl 7.19.7 (x86_64-redhat-linux-gnu) libcurl / 7.19.7 NSS / 3.14.0.0 zlib / 1.2.3 libidn / 1.18 libssh2 / 1.4.2