web-dev-qa-db-fra.com

Github: erreur de clonage de mon référentiel privé

J'essaie de cloner mon projet GitHub en utilisant l'URL https, mais il échoue avec une erreur:

$ git clone https://[email protected]/foo/foo-private.git
Cloning into foo-private...
Password:
error: error setting certificate verify locations:
  CAfile: /bin/curl-ca-bundle.crt
  CApath: none
 while accessing https://[email protected]/foo/foo-private.git/info/refs

fatal: HTTP request failed

Qu'est-ce que je fais mal?

137
Mot

J'ai vu cela sur Windows avec msysgit 1.7.2.3. Vous devez fixer le chemin à bin/curl-ca-bundle.crt. Je devais spécifier le chemin absolu, en utilisant des barres obliques inverses:

git config --système http.sslcainfo "C:\Programmes (x86)\git\bin\curl-ca-bundle.crt"

ou - pas vraiment recommandé - vous pouvez choisir de désactiver complètement les contrôles SSL en exécutant:

git config --système http.sslverify false

Dans les deux cas, cela entraînera des modifications dans le fichier [git-install-dir]/etc/gitconfig, qui peut également être modifié directement.

(Solutions originales trouvées sur http://github.com/blog/642-smart-http-support )

272
mstrap

J'ai résolu le problème lors de l'installation du Git à partir de: https://git-for-windows.github.io/ Recherchez le chemin du fichier de certificat:

D:\Program Files\Git\mingw64\ssl\certs\ca-bundle.crt

Configurez le chemin Git:

git config --système http.sslcainfo "D:\Programme Fichiers\Git\mingw64\ssl\certs\ca-bundle.crt"

Réessayer 

69
rogertoday

Si vous utilisez MSYS2 ...

Installez simplement les packages de certificat avec les commandes suivantes:

32 bits

pacman -S mingw-w64-i686-ca-certificates ca-certificates

64 bits

pacman -S mingw-w64-x86_64-ca-certificates ca-certificates
20
CoolOppo

Si vous utilisiez Cygwin, vous pouvez installer le package ca-certificates avec apt-cyg:

wget rawgit.com/transcode-open/apt-cyg/master/apt-cyg
install apt-cyg /usr/local/bin
apt-cyg install ca-certificates

Comment installer un paquet cygwin à partir de la ligne de commande?

12
Jiangwei Yu

RESOLU: J'ai eu cette erreur lorsque j'ai installé une mise à jour de l'installateur Git Windows. Ce qui s’est passé, c’est que je n’ai pas l’installé avec des droits d’administrateur. Git a donc été installé dans "C:\Utilisateurs\mon_nom\AppData\Local\Programmes" au lieu de "C:\programmes". réinstaller Git en tant qu'administrateur autorisé à le mettre dans C:\Program Files et tout s'est bien passé!

7
Louis BAYLE
git config --global http.sslverify "false" 

Résoudra le problème . Après cela, une fenêtre contextuelle apparaît pour entrer votre nom d'utilisateur et votre mot de passe. 

6
Abu Bakr

Cela a fonctionné pour moi (j'utilise Manjaro Linux). J'exécute la cmd pour afficher les certificats de certification:

$ curl-config --ca
**/etc/ssl/certs/ca-certificates.crt**

Mais en fait, j'ai trouvé les certificats sur le chemin:

**/etc/ca-certificates/extracted/ca-bundle.trust.crt**

Ajoutez ensuite la configuration dans ~/.gitconfig (si elle n’existe pas, créez-la):

**vim ~/.gitconfig**
[http]
    sslVerify = true
    sslCAinfo = /etc/ca-certificates/extracted/ca-bundle.trust.crt

[user]
    email = <email of github account>
    name = <username of github account>

Ça marche!

.rbenv]$ git pull

remote: Counting objects: 70, done.
remote: Compressing objects: 100% (47/47), done.
remote: Total 70 (delta 39), reused 12 (delta 12), pack-reused 6
Unpacking objects: 100% (70/70), done.
From https://github.com/sstephenson/rbenv
   c43928a..efb187f  master     -> Origin/master
 + 37ec781...7e57b52 user-gems  -> Origin/user-gems  (forced update)
Updating c43928a..efb187f
Fast-forward
 libexec/rbenv-init         |  4 ++--
 libexec/rbenv-version-file |  1 +
 test/init.bats             |  2 +-
 test/test_helper.bash      | 25 +++++++++++++++----------
 4 files changed, 19 insertions(+), 13 deletions(-)
5
Duy Nguyen

J'ai fait face à cela tout en tirant. Pour moi, édité le fichier de configuration global git qui a résolu le problème.

Allez dans votre dossier personnel et ouvrez le fichier .gitconfig. Généralement C:\Utilisateurs\.gitconfig

Si le fichier n'est pas là, créez-le

[http]
sslcainfo = E:\systools\git-1.8.5.2\bin\curl-ca-bundle.crt

Là vous devez donner votre propre chemin d’installation de git. J'ai utilisé la version portable de git ici.

Ensuite, git clone/pull ça fonctionnera.

3
arulraj.net

git config --system http.sslcainfo /bin/curl-ca-bundle.crt  

Cela marche. Vous n'êtes pas obligé de donner le chemin complet. 

3
KannarKK

J'ai vu cela sur mon Github pour Windows.

Je recommande de désinstaller Github pour Windows et de le réinstaller.

Avant cela, j'ai essayé plusieurs méthodes sans succès, mais cette solution a fonctionné pour moi! 

2
Alisa

Si vous utilisez la commande Git Shell installée avec l'application GitHub for Windows, cela et d'autres problèmes peuvent apparaître après une mise à jour. Il suffit de démarrer l'application Windows Git Hub et de la fermer à nouveau. Le shell fonctionnera à nouveau correctement. Le problème est que la mise à jour ne se termine pas tant que l'application Windows n'est pas exécutée. Le simple fait d’utiliser le shell ne déclenche pas la mise à jour.

2
Paul D

J'ai trouvé une bonne solution pour ajouter/mettre à jour les certificats de l'autorité de certification sous RHEL/CentOS 6 , qui est la cause première du problème signalé. 

Depuis qu'elles sont devenues des distributions obsolètes, les autorités cacert de ce système n'ont pas été mises à jour avant l'exécution de la commande Sudo yum update

N'a pas réalisé le problème jusqu'à ce que le mode GIT_CURL_VERBOSE indique le problème du chemin d'accès cacert. 

1
S.K. Venkat

En passant, ce problème peut survenir sous Windows si l'utilisateur qui tente d'utiliser git est différent de l'utilisateur qui l'a installé. L'erreur peut indiquer que git ne peut pas accéder aux fichiers de certificat. Installer git en tant qu’administrateur et utiliser la réponse de @ rogertoday a résolu mon problème.

1
M2X

Sur Windows utilisant msysgit, j’ai eu cette erreur et la cause en a été l’ajout de nos certificats proxy d’entreprise.

Si vous éditez votre curl-ca-bundle.crt, vous devez vous assurer de vos limites. Dans le cas de curl-ca-bundle, vous devez utiliser des sélections de style Linux.

> git ls-remote --tags --heads https://github.com/oblador/angular-scroll.git
fatal: unable to access 'https://github.com/oblador/angular-scroll.git/': error setting certificate verify locations:
  CAfile: C:\Program Files (x86)\Git\bin\curl-ca-bundle.crt
  CApath: none

Vous pouvez utiliser notepad ++ pour convertir les fins de ligne en Linux (saut de ligne).

1
Thomas

Pour moi, le problème a été résolu lorsque sur ma fenêtre Windows 10, j'ai essayé de désinstaller Git et de le réinstaller, en utilisant Windows Cmd par défaut et non Git Bash. 

Ouvrez CMD et exécutez ce qui suit 

//Once installed try to resintall the bin folder 
git config --system http.sslcainfo \bin/curl-ca-bundle.crt

//disable ssl verification
git config --global http.sslverify "false"

//Then try to clone repo again
git clone [email protected]:account/someproject.git
0
wushueagle

La solution qui me convient dans windows 64bits est la suivante

git config --système http.sslverify false

0
Jorge Santos Neill

Si quelqu'un d'autre est confronté à ce problème dans Git pour Windows et n'a pas curl-ca-bundle.crt nulle part sur votre système, même après la réinstallation, voici le processus que j'ai suivi:

  1. Téléchargez la dernière version de curl ici: miroir de téléchargement curl
  2. Extrayez et naviguez jusqu'à curl-**.**.*/lib dans la ligne de commande
  3. Exécuter ./mk-ca-bundle.prl
  4. Copiez ca-bundle.crt dans votre chemin git et mettez à jour la configuration comme indiqué dans d'autres réponses

Merci à ce Gist de m'avoir aidé à terminer l’installation.

0
tordal

Sur Linux, j'ai eu cette erreur et je l'ai corrigé en exécutant Sudo update-ca-certificates.

0
user5002062

J'ai résolu ce problème sur Windows Server 2016 en le réinstallant et en choisissant "bibliothèque native Windows Secure Channel" dans l'étape d'installation "Choix du backend de transport HTTPS".

0
Thibault Loison