Github : 개인 저장소 복제 오류


155

https-URL을 사용하여 GitHub 프로젝트를 복제하려고하는데 오류와 함께 실패합니다.

$ 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

내가 뭘 잘못하고 있죠?

답변:


289

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 검사를 완전히 해제 할 수 있습니다.

자식 설정 --system http.sslverify false

두 경우 모두 [git-install-dir] / etc / gitconfig 파일이 변경되어 직접 편집 될 수 있습니다.

(원래 솔루션은 http://github.com/blog/642-smart-http-support에 있습니다 )


1
필자의 경우 Windows에서 디렉토리 구분 기호를 사용해야했습니다. 즉, 경로에서 디렉토리를 구분하기 위해 "/"(unix) 대신 "\"(windows)를 사용해야합니다.
Victor

아래의 원본 게시물 작성이 저에게 효과적입니다. 공공 저장소에서 사용해보십시오 : $ git clone github.com/schacon/grack.git 개인 저장소 또는 저장소에 대한 푸시 액세스 권한을 얻으려면 다음과 같이 복제하십시오 : $ git clone username@github.com/username/project.git 감사합니다 :)
J4cK

13
나중에 참조 할 수 있도록 경로가 "C : \ Program Files (x86) \ Git \ mingw32 \ ssl \ certs \ ca-bundle.crt"로 변경되었습니다.
Ben

3
64 비트 컴퓨터의 경로는 "C : \ Program Files \ Git \ mingw64 \ ssl \ certs \ ca-bundle.crt"입니다.
Kamaraju Kusumanchi

3
내 64 비트 시스템에서 git config --global http.sslcainfo "C:\Program Files\Git\mingw64\ssl\certs\ca-bundle.crt"작동했지만 시스템이 실패한 동안 왜 전역을 말할 수 없습니다.
semako

76

https://git-for-windows.github.io/ 에서 Git 설치 문제를 해결했습니다 . 인증서 파일 경로를 찾으십시오.

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

힘내 경로를 구성하십시오 :

git config --system http.sslcainfo "D : \ Program Files \ Git \ mingw64 \ ssl \ certs \ ca-bundle.crt"

다시 시도하십시오


13
알았습니다 error: could not lock config file C:\Program Files\Git\mingw64/etc/gitconfig: Permission denied. 란 "C:\Program Files\Git\git-bash.exe"관리자로하고 다시 시도하고 일했다. 감사!
AXO December

더 나은 설명
Kasim Rangwala

2
방금 Windows 2.13.2 용 Git을 설치했으며이 문제가 발생하여 리모컨으로 푸시하려고했습니다. 인증서 파일이 비슷한 위치에 있음을 발견했습니다.C:\Program Files\Git\mingw64\ssl\certs\ca-bundle.crt
Simon Tewsi

1
이것은 나를 위해 일했습니다. 나는 공유 된 링크를 사용하여 Git 만 설치했으며 그 문제를 해결했습니다. 감사합니다
Sunny Okoro Awa

내가 설치 기간 동안 지정된 디렉토리에 GIT를 설치 한, 따라서 그 설치에 따라 올바른 MINGW64 경로를 지정했다
gargkshitiz

21

MSYS2를 사용하는 경우 ...

다음 명령으로 인증서 패키지를 설치하십시오.

32 비트

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

64 비트

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

1
하나 추가. 감사. 이 msys2 32 비트를 수행해야한다는 사실을 기억하십시오. 그러나 상황은 다를 수 있습니다.
bvj

1
감사합니다, 이것이 msys2 64 비트를 사용하여 할 일임을 확인합니다 :-D
FabienRohrer

1
/usr/ssl/certs/ca-bundle.crt 파일이 비어있을 수 있습니다. ca 인증서를 다시 설치하십시오.
Daniel YC Lin

Windows 용이 아님 : $ pacman -S mingw-w64-x86_64-ca-certificates ca-certificates bash : pacman : 명령을 찾을 수 없음
belgoros

@Javix "MSYS2를 사용한다면"이라고 말하는 이유입니다. pacman 명령은 Windows에서 기본적으로 사용할 수 없지만 MSYS2가 설치된 경우 사용할 수 있습니다.
CoolOppo

12

Cygwin을 사용하는 경우 apt-cyg 와 함께 ca-certificates 패키지를 설치할 수 있습니다 .

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

명령 행에서 cygwin 패키지를 어떻게 설치합니까?


1
제길. 너무 오래 찾았어요 이것은 Mac에서도 작동했습니다. 공유해 주셔서 감사합니다.
Phlow

1
Cygwin에서 그것은 나를 위해 일했습니다git config --system http.sslcainfo /usr/ssl/certs/ca-bundle.crt
ATorras

9
git config --global http.sslverify "false" 

문제를 해결할 것입니다. 그 후 팝업 창이 나타나 사용자 이름과 비밀번호를 입력합니다


5
이것에 대한 보안 효과를 언급하고 싶을 수도 있습니다. 이것은 특히 세계적으로 끔찍한 생각처럼 보입니다.
C. Helling

나를 위해 HPC에 근무
mmann1123

6

해결 : Git windows 설치 프로그램에 업데이트를 설치할 때이 오류가 발생했습니다. 관리자 권한으로 설치하지 않았으므로 Git은 "C : \ program Files"대신 "C : \ Users \ my_name \ AppData \ Local \ Programs"에 설치되었습니다. 관리자로서 Git을 다시 설치하면 C : \ program Files에 넣을 수 있었고 모든 것이 다시 정상적으로 진행되었습니다!


가치가있는 것에 대해 GitHub Desktop을 제거하고 다시 설치하면 여전히 AppData 폴더를 사용하고 있음에도 불구 하고이 문제가 해결되었습니다.
벤 콜리어

5

이것은 나를 위해 일했습니다 (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(-)

1
archlinux에서 나를 위해 일했습니다!
lucasem

4

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

작동합니다. 당신은 전체 경로를 제공 할 필요가 없습니다.


3

git pull 동안 나는 이것에 직면했다. 내 문제를 해결하는 전역 자식 구성 파일을 편집했습니다.

홈 폴더로 이동하여 .gitconfig 파일을 엽니 다. 일반적으로 C : \ Users \ .gitconfig

파일이 없으면 작성하십시오.

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

거기에 자신의 git 설치 경로를 지정해야합니다. 여기에 휴대용 버전의 git을 사용했습니다.

그런 다음 git clone / pull이 작동합니다.


1
이중 이스케이프 문자를 사용해야합니다.E:\\systools...
HappyCactus

그러나 경로를 따옴표로 묶지 마십시오. 슈퍼 카운터 직관적입니다. "C:\\folder\\file"나쁘다, C:\\folder\\file좋다. 나는 내 시간을 다시 원한다.
increddibelly

2

Windows 용 GitHub 앱과 함께 설치되는 Git 명령 셸을 사용하는 경우 업데이트 후이 문제 및 기타 여러 문제가 표시 될 수 있습니다. Git Hub Windows 앱을 시작하고 다시 종료하면됩니다. 그런 다음 쉘이 다시 작동합니다. 문제는 Windows 응용 프로그램이 실행될 때까지 업데이트가 완료되지 않는다는 것입니다. 쉘을 사용한다고해서 업데이트가 완료되지는 않습니다.


2

Windows 용 Github에서 이것을 보았습니다.

Windows 용 Github을 제거하고 다시 설치하는 것이 좋습니다.

이 전에 성공하지 못한 채 여러 가지 방법을 시도했지만이 솔루션이 효과적이었습니다.


1

msysgit을 사용하는 Windows 에서이 오류가 발생했으며 회사 프록시 인증서가 추가되었습니다.

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 ++를 사용하여 줄 끝을 Linux (줄 바꿈)로 변환 할 수 있습니다.


1

참고로 git을 사용하려는 사용자가 설치 한 사용자와 다른 경우 Windows에서이 문제가 발생할 수 있습니다. 이 오류는 git이 인증서 파일에 액세스 할 수 없음을 나타낼 수 있습니다. 관리자로 git을 설치하고 @rogertoday의 답변을 사용하면 문제가 해결되었습니다.


1

보고 된 주요 원인 인 RHEL / CentOS 6에서 CA 인증서추가 / 업데이트하기 위한 좋은 솔루션을 찾았습니다 .

구식 배포판이 되었기 때문에 해당 시스템의 cacert 권한은 명령을 실행할 때까지 업데이트되지 않았습니다 sudo yum update.

GIT_CURL_VERBOSE 모드가 cacert 경로 문제를 표시 할 때까지 문제를 인식하지 못했습니다.


0

Linux에서이 오류가 발생하여를 실행하여 수정했습니다 sudo update-ca-certificates.


이 명령의 기능과 이것이 도움이되는 이유를 설명해야합니다. 설명없이 원시 명령을 게시하는 것은 특히 루트 액세스가 필요한 경우에는 좋은 생각이 아닙니다.
땅콩

0

내 문제는 Windows 10 상자에서 Git Bash가 아닌 Windows Cmd를 기본값으로 사용하여 git 및 resintalling을 제거하려고 시도한 것입니다.

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

0

다른 사람이 Git for Windows 에서이 문제에 직면하고 curl-ca-bundle.crt다시 설치 한 후에도 시스템의 아무 곳에 도 없으면 다음과 같은 프로세스입니다.

  1. curl 최신 버전 다운로드 : curl 다운로드 미러
  2. 추출 및 탐색 curl-**.**.*/lib명령 행에서
  3. 운영 ./mk-ca-bundle.prl
  4. ca-bundle.crtgit 경로에 복사 하고 다른 답변에 나열된 구성을 업데이트하십시오.

설치를 완료하도록 도와주는 이 요점 을 외치십시오 .


0

이 문제를 Windows Server 2016에서 다시 설치하고 "HTTPS 전송 백엔드 선택"설치 단계에서 "기본 Windows 보안 채널 라이브러리"를 선택하여이 문제를 해결했습니다.


0

Windows 64 비트 에서 나를 위해 작동하는 솔루션 은 다음과 같습니다.

자식 설정 --system http.sslverify false


0

내 win10 경우에는 두 가지 버전 이 있습니다..gitconfig

  • 첫 번째는 C:\Program Files\Git\etc
  • 두 번째는 C:\Users\<user>

명령

git config --system http.sslcainfo "C:\Program Files\Git\mingw64\ssl\certs\ca-bundle.crt"

실제로 변경 C:\Program Files\Git\etc 하지만 git은 어떻게 든 구성을 사용합니다.C:\Users\<user>

메모장으로 두 번째 것을 변경 .gitconfig하고 git은 마침내 올바른 구성을 취하고 작동했습니다.


-1

다음 명령 으로이 문제를 해결할 수있었습니다.

자식 설정 --system http.sslverify false


이 설정의 보안 영향에 대해 논의하고 문제를 해결하는 다른 방법을 제공하면이 답변이 더 나을 것입니다. 그러나 현재 받아 들여진 대답은 이것과 그 이상을합니다.
chwarr

-1

하드 드라이브에서 git을 이동 한 후이 오류가 발생했습니다. 새로운 위치에서 삭제 및 재설치


-1

Windows 용 git 에서 Windows 기본 인증서를 다시 설치 하고 선택할 수도 있습니다 유효성 검사 방법을 (OpenSSL이 기본값 임). 이것은 OpenSSL 확인을 건너 뛰고 대신 Windows 기본 인증을 사용하므로 별도의 도구 (OpenSSL) 및 인증서를 유지 관리 할 필요가 없습니다.

나를 위해 완벽하게 일했습니다 :)


-2

다음 명령

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

내 요구에 부응했지만 읽기 전용 액세스 이상을 원한다고 가정합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.