특정 리포지토리에만 GIT_SSL_NO_VERIFY를 어떻게 설정합니까? GIT_SSL_NO_VERIFY=true git command 매번

적절한 인증서없이 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. 즉,

  1. GIT_SSL_NO_VERIFY=true git clone https://url
  2. cd <directory-of-the-clone>
  3. git config http.sslVerify false

답변

특히 재귀 복제가 필요한 경우

GIT_SSL_NO_VERIFY=true git clone --recursive https://github.com/xx/xx.git


답변

Windows 컴퓨터에 있고 Git을 설치 한 경우 다음 단계를 시도 할 수 있습니다.

  1. Git 설치 폴더로 이동하십시오 (예 : C : \ Program Files (x86) \ Git \ etc).
  2. 파일을 편집하십시오 : gitconfig
  3. 세 이하 [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

리포지토리에 관계없이이 서버에 대한 모든 인증서 검사는 무시합니다.

코드에 대한 설명도 있습니다.