Github: ошибка клонирования моего частного репозитория

Я пытаюсь клонировать свой проект GitHub с помощью https-URL, но он терпит неудачу с ошибкой:

$ git clone https://foo@github.com/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://foo@github.com/foo/foo-private.git/info/refs

fatal: HTTP request failed

что я делаю не так?

21 ответов


Я видел это в Windows, с msysgit 1.7.2.3. Вы должны исправить путь к bin / curl-ca-bundle.crt. Я должен был указать абсолютный путь, используя обратные косые черты:

git config --system http.sslcainfo "C:\Program Files (x86)\git\bin\curl-ca-bundle.crt"

или-не рекомендуется-вы можете полностью отключить проверки SSL, выполнив:

git config --system http.sslverify false

в обоих случаях это приведет к изменениям в файле [git-install-dir]/etc/gitconfig, который также может быть отредактирован напрямую.

(найдены оригинальные решения at http://github.com/blog/642-smart-http-support)


Я решил проблему установки Git из:https://git-for-windows.github.io/ Найдите путь к файлу сертификата:

D:\Program файлы\Git\mingw64\ssl\certs\ca-bundle.crt

настройте путь Git:

git config --system http.sslcainfo "D:\Program Файлы\Git\mingw64\ssl\certs\ca-bundle.crt"

попробуйте еще раз


Если вы используете MSYS2...

просто установите пакеты сертификатов со следующими командами:

32 бит

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

64 бит

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

Если вы используете Cygwin, вы можете установить ca-сертификаты С АПТ-типа Cyg:

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

Как установить пакет cygwin из командной строки?


решено: Я получил эту ошибку, когда я установил обновление с Git установщика Windows. Случилось так, что я не установил его с правами администратора, поэтому Git был установлен в "C:\Users\my_name\AppData\Local\Programs" вместо ... "C:\program файлы". повторная установка Git в качестве администратора позволила поместить его в C:\program файлы и все снова пошло хорошо !


это сработало для меня (я использую Manjaro linux). Я запускаю cmd для просмотра ca-сертификатов:

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

но на самом деле я нашел сертификаты на путь:

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

затем добавьте конфигурацию в~/.gitconfig (если не существует, создайте его):

**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>

это работает!

.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(-)

git config --global http.sslverify "false" 

решит проблему. После этого появится всплывающее окно для ввода имени пользователя и пароля


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

это работает. Вам не нужно давать полный путь.


Я столкнулся с этим, пока git тянуть. Для моего отредактировал глобальный конфигурационный файл git, который исправил проблему.

перейти к домашней папке и открыть .файл gitconfig хранит настройки. Обычно C:\Users\.gitconfig хранит настройки

Если файла нет, создайте его

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

там вы должны дать свой собственный путь установки git. Я использовал портативную версию git здесь.

затем git clone / pull он будет работать.


Если вы используете командную оболочку Git, которая устанавливается с приложением GitHub для Windows, то это и различные другие проблемы могут отображаться после обновления. Просто запустите приложение Windows Git Hub и снова закройте его. Затем оболочка снова будет работать нормально. Проблема в том, что обновление не завершается до запуска приложения windows. Просто использование оболочки на нем не запускает обновление для завершения.


Я видел это на моем Github для Windows.

Я рекомендую удалить Github для Windows и установить его снова.

до этого я пробовал несколько способов без успеха, но это решение сработало для меня!


в Windows с помощью msysgit у меня была эта ошибка, и причиной было мое добавление наших корпоративных прокси-сертификатов.

Если вы редактируете свой curl-ca-bundle.crt вы должны убедиться в своих линиях. В случае curl-ca-bundle вы должны использовать линейки в стиле 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

вы можете использовать notepad++ для преобразования lineendings в Linux (linefeed).


эта проблема может возникнуть в Windows, если пользователь, который пытается использовать git, отличается от пользователя, который его установил. Ошибка может означать, что git не может получить доступ к файлам сертификатов. Установка git в качестве администратора и использование ответа @rogertoday решили мою проблему.


Я нашел хорошее решение для добавление / обновление сертификатов CA на RHEL / CentOS 6, который является причиной проблемы.

поскольку они становятся устаревшими дистрибутивами, полномочия cacert в этой системе не обновлялись до выполнения команды sudo yum update.

Не понял проблему, пока режим GIT_CURL_VERBOSE не покажет проблему пути cacert.


в Linux у меня была эта ошибка и я исправил ее, запустив sudo update-ca-certificates.


для меня, что решило проблему, когда на моем Windows 10 box, я попытался удалить git и resintalling, используя Windows Cmd по умолчанию не Git Bash

откройте CMD и выполните следующее

//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 git@github.com:account/someproject.git

если кто-то еще сталкивается с этой проблемой в Git для Windows и не имеет curl-ca-bundle.crt в любом месте вашей системы даже после переустановки, это процесс, за которым я следовал:

  1. скачать последнюю версию curl здесь:скачать curl зеркало
  2. извлеките и перейдите к curl-**.**.*/lib в командной строке
  3. Run ./mk-ca-bundle.prl
  4. скопировать ca-bundle.crt к вашему пути git и обновите конфигурацию, как указано в другом ответы

крик в этом суть за помощь в установке.


Я смог решить эту проблему с помощью следующей команды.

git config --system http.sslverify false


Я получил эту ошибку после перемещения git через жесткие диски. Удаление и переустановка в новом месте исправлены вещи


на git для Windows вы также можете переустановить и выберите собственный сертификат Windows метод проверки (OpenSSL по умолчанию). Это позволит пропустить проверку OpenSSL и вместо этого использовать собственный Windows, который не требует обслуживания отдельного инструмента (OpenSSL) и сертификатов.

отлично сработало для меня:)


следующую команду

git clone git://github.com/username/projectname.git

работал для моих нужд, но я предполагаю, что вы хотите больше, чем доступ только для чтения, верно?