적절한 인증서없이 git 서버를 사용해야하지만 할 필요는 없습니다.
env GIT_SSL_NO_VERIFY=true git command
매번 git 작업을 수행합니다. 그러나 다른 git 리포지토리에 SSL을 사용하도록 설정하고 싶습니다. 이 로컬을 단일 리포지토리로 만드는 방법이 있습니까?
답변
넌 할 수있어
git config http.sslVerify false
특정 리포지토리에서 해당 리포지토리에 대해서만 SSL 인증서 검사를 비활성화합니다.
답변
다음과 같이 할 수 있습니다
단일 레포
git config http.sslVerify false
모든 레포
git config --global http.sslVerify false
답변
Thirumalai가 말한 것처럼 복제 저장소 내부 및없이 --global
. 즉,
GIT_SSL_NO_VERIFY=true git clone https://url
cd <directory-of-the-clone>
git config http.sslVerify false
답변
특히 재귀 복제가 필요한 경우
GIT_SSL_NO_VERIFY=true git clone --recursive https://github.com/xx/xx.git
답변
Windows 컴퓨터에 있고 Git을 설치 한 경우 다음 단계를 시도 할 수 있습니다.
- Git 설치 폴더로 이동하십시오 (예 : C : \ Program Files (x86) \ Git \ etc).
- 파일을 편집하십시오 : gitconfig
-
세 이하 [HTTP] 섹션 줄을 추가 : sslVerify 거짓 =
[http] sslVerify = false
답변
서버를 올바르게 처리하도록 GIT를 구성하는 쉬운 방법이 있습니다. git 서버에 특정 http 섹션을 추가하고 신뢰할 인증서 (Base64 인코딩)를 지정하십시오.
~ / .gitconfig
[http "https://repo.your-server.com"]
# windows path use double back slashes
# sslCaInfo = C:\\Users\\<user>\\repo.your-server.com.cer
# unix path to certificate (Base64 encoded)
sslCaInfo = /home/<user>/repo.your-server.com.cer
이렇게하면 더 이상 SSL 오류가없고 (보통) 자체 서명 된 인증서의 유효성을 검사합니다. 이것이 중간자 공격으로부터 사용자를 보호하므로 가장 좋은 방법입니다. SSL 검증을 비활성화하면 이러한 종류의 공격에 취약합니다.
https://git-scm.com/docs/git-config#git-config-httplturlgt
답변
여러 저장소를 호스팅하는 하나의 git 서버에 대해 SSL 검사를 비활성화 해야하는 경우 다음을 실행할 수 있습니다.
git config --bool --get-urlmatch http.sslverify https://my.bad.server false
(여전히 git <v1.8.5를 사용하는 경우 다음을 실행하십시오. git config --global http.https://my.bad.server.sslVerify false
)
명령이 끝나는 문서 에서 설명 하는
.gitconfig
내용은 다음과 같습니다.
[http "https://my.bad.server"]
sslVerify = false
리포지토리에 관계없이이 서버에 대한 모든 인증서 검사는 무시합니다.
코드에 대한 설명도 있습니다.