Je viens de créer un compte github et un référentiel, mais lorsque vous essayez de créer une copie de travail locale à l'aide de l'URL recommandée par
git clone https://github.com/<user>/<project>.git
Je reçois une erreur comme
fatal: impossible d'accéder à ' https://github.com/<user>/<project>.git ': la vérification du certificat de serveur a échoué. CAfile: /home/<user>/.ssl/trusted.pem CRLfile: aucun
Je suis sur Debian Jessie, et j'aurais cru que Debian et GitHub fourniraient/compteraient sur une sélection d'AC communément acceptées, mais apparemment, mon système ne fait pas confiance au certificat de GibHub.
N'importe quel moyen simple de résoudre ce problème (sans le hack "GIT_SSL_NO_VERIFY = true" fréquemment recommandé et les solutions de rechange similaires)?
MODIFIER:
Information additionnelle:
Lors de la suppression de ~/.ssl/trusted.pem, le message d'erreur git devient:
fatal: unable to access 'https://github.com/tcrass/scans2jpg.git/': Problem with the SSL CA cert (path? access rights?)
MODIFIER:
Les conseils de @ VonC concernant l'option git https.sslCAinfo m'ont mis sur la bonne voie. Je viens d'ajouter les autorités de certification téléchargées cacert.org à mon confiance.
Assurez-vous d’abord que les certificats sont installés sur votre Debian dans /etc/ssl/certs
.
Sinon, réinstallez-les:
Sudo apt-get install --reinstall ca-certificates
Puisque ce paquetage n'inclut pas root certificats , ajoutez:
Sudo mkdir /usr/local/share/ca-certificates/cacert.org
Sudo wget -P /usr/local/share/ca-certificates/cacert.org http://www.cacert.org/certs/root.crt http://www.cacert.org/certs/class3.crt
Sudo update-ca-certificates
Assurez-vous que votre git référence ces CA:
git config --global http.sslCAinfo /etc/ssl/certs/ca-certificates.crt
Jason C mentionne une autre cause potentielle ( dans les commentaires ):
C'était l'horloge. Le serveur NTP était en panne, l'horloge système n'était pas réglée correctement, je n'avais pas remarqué ou pensé à vérifier initialement et l'heure incorrecte entraînait l'échec de la vérification.
Vous pouvez également désactiver la vérification SSL (si le projet ne nécessite pas un niveau de sécurité élevé autre que le nom d'utilisateur/mot de passe) en tapant:
git config --global http.sslverify false
profiter git :)
Il peut s'agir également d'un certificat auto-signé, etc. Désactiver la vérification SSL au niveau mondial est dangereux. Vous pouvez installer le certificat pour qu'il soit visible pour le système, mais le certificat doit être parfaitement correct.
Ou vous pouvez cloner avec un paramètre de configuration unique, la commande sera donc:
git clone -c http.sslverify=false https://myserver/<user>/<project>.git;
GIT se souviendra de la valeur false, vous pouvez la vérifier dans le fichier <project>/.git/config
.
Essayez de vous connecter au référentiel avec l’URL: http://github.com/<user>/<project>.git
(http accept https)
Dans votre cas, vous devriez cloner comme ceci:
git clone http://github.com/<user>/<project>.git