최근 내 직장에서는 인터넷 사용 정책을 업데이트하고 Sophos 보안 계층을 구현하여 트래픽을 모니터링했습니다.
명령을 사용하여 git 저장소를 복제하려고 하는데 git clone
다음 오류가 발생합니다.
fatal: unable to access 'https://github.com/openssl/openssl.git/': SSL certificate problem: self signed certificate in certificate chain
이는 "묵시적" 인증서 문제입니다. 어떻게 작동하게 할 수 있나요?
업데이트 1: 인증서는 브라우저(firefox)에서 성공적으로 작동하므로 정확합니다. 문제는 이러한 인증서를 사용하여 git SSL 확인을 활성화하는 방법입니다.
업데이트 2:
Firefox에서 얻은 인증서를 복사합니다.(다음에서 내보냈습니다.Firefox > 환경설정 > 개인정보 보호 및 보안 > 인증서 > 인증서 보기)도착하다 /etc/ssl/certs
.
루트로 실행 c_rehash /etc/ssl/certs
하고 git config --system http.sslCAPath /etc/ssl/certs
.
다음 응답을 생성합니다. 복제가 중간에 시작되고 종료됩니다.
Cloning into 'openssl'...
remote: Enumerating objects: 9, done.
remote: Counting objects: 100% (9/9), done.
remote: Compressing objects: 100% (8/8), done.
fatal: The remote end hung up unexpectedly.89 MiB | 16.11 MiB/s
fatal: early EOF
fatal: index-pack failed
답변1
Sophos 보안이 다음과 같은 역할을 하는 것 같습니다.중개자따라서 이 저장소에 대해 SSL/TLS 검사를 비활성화해야 합니다. 사용Stackoverflow의 답변:
단일 git 명령에 대해 TLS/SSL 확인을 비활성화하려면
-c
올바른 구성 변수를 git에 전달하거나 Flow의 답변을 사용하십시오.
git -c http.sslVerify=false clone https://example.com/path/to/git
특정 저장소에 대한 SSL 확인을 비활성화합니다. 저장소가 완전히 귀하의 통제하에 있는 경우 다음을 시도해 볼 수 있습니다.
git config http.sslVerify false
인증서(자체 서명)가 컴퓨터(Sophos 보안 소프트웨어)에 있으므로 문제는 인증서에 있는 것이 아닙니다. Sophos 소프트웨어를 중지하고(권한이 있는 경우) 다시 시도하여(브라우저에서도 마찬가지) 이를 증명할 수 있습니다.
이 인증서를 설치하려면(브라우저에서 허용하는 경우) 브라우저를 열고 SSL/TLS 사이트를 가리킨 다음 왼쪽에 있는 사이트를 클릭하고 인증서(PEM 형식)를 다운로드하세요. 그런 다음 파일을 복사 /etc/ssl/certs
하고 실행합니다(결국).c_rehash /etc/ssl/certs
당신은 또한 실행을 시도할 수 있습니다
git config http.sslCAInfo /etc/ssl/certs/<self-signed certificate>.pem
또는
git config --system http.sslCAPath /etc/ssl/certs
git이 이 인증서를 수락하도록 하세요.
손으로 몇 가지 작업을 수행할 수도 있습니다. 디렉토리에서 config
파일을 검색합니다. .git
섹션에 [http]
다음 줄을 추가하세요.
[http]
sslCAInfo = /etc/ssl/certs/<certificate>.pem
sslCAPath = /etc/ssl/certs/<certificate>.pem
sslCert = /etc/ssl/certs/<certificate>.pem