적절한 인증서없이 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 검증을 비활성화하면 이러한 종류의 공격에 취약합니다.
답변
여러 저장소를 호스팅하는 하나의 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
리포지토리에 관계없이이 서버에 대한 모든 인증서 검사는 무시합니다.
코드에 대한 설명도 있습니다.