특정 리포지토리에만 GIT_SSL_NO_VERIFY를 어떻게 설정합니까?
적절한 인증서없이 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
Windows 컴퓨터에 있고 Git을 설치 한 경우 다음 단계를 시도 할 수 있습니다.
- Git 설치 폴더로 이동하십시오 (예 : C : \ Program Files (x86) \ Git \ etc).
- 파일을 편집하십시오 : gitconfig
세 이하 [HTTP] 섹션 줄을 추가 : sslVerify 거짓 =
[http] sslVerify = false
특히 재귀 복제가 필요한 경우
GIT_SSL_NO_VERIFY=true git clone --recursive https://github.com/xx/xx.git
서버를 올바르게 처리하도록 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
리포지토리에 관계없이이 서버에 대한 모든 인증서 검사는 무시합니다.
코드에 대한 설명도 있습니다.
이것은 나를 위해 작동합니다 :
git init
git config --global http.sslVerify false
git clone https://myurl/myrepo.git
이 질문은 계속 나오고 아직 만족스러운 결과를 찾지 못했기 때문에 여기에 효과가 있습니다 (이전 답변 https://stackoverflow.com/a/52706362/1806760 , 작동하지 않음).
내 서버 https://gitlab.dev
에 자체 서명 된 인증서가 있습니다.
첫 방송 git config --system --edit
(프롬프트 상승 된 명령의 변경 --system
에 --global
당신이 당신 사용자를 수행하려는 경우)를 선택한 다음, 이전 후 다음 코드 삽입 [http]
섹션 :
[http "https://gitlab.dev"]
sslVerify = false
그런 다음 모든 것이 올바르게되었는지 확인하십시오.
> git config --type=bool --get-urlmatch http.sslVerify https://gitlab.dev
false
Windows의 경우 전역 구성을 원하면 다음을 실행하십시오.
git config --global http.sslVerify false
Linux의 경우 git repository 폴더에서 이것을 호출하면 :
git config http.sslVerify false
이 추가됩니다 sslVerify = false
에서 [http]
의 섹션 config
에서 파일 .git
당신이 수동으로 추가 할 경우도 해결책이 될 수 있습니다 폴더 nano .git/config
:
...
[http]
sslVerify = false
참고 : https://stackoverflow.com/questions/9008309/how-do-i-set-git-ssl-no-verify-for-specific-repos-only
'IT story' 카테고리의 다른 글
Python에서 문자열과 다른 유형의 항목 목록에 참여 (0) | 2020.04.06 |
---|---|
모든 훌륭한 .NET 개발자가 대답 할 수있는 질문이 있습니까? (0) | 2020.04.06 |
프로그래밍 방식으로 단추를 만드는 방법은 무엇입니까? (0) | 2020.04.06 |
PIP 및 setup.py로 Python 암호화 패키지를 설치하지 못했습니다. (0) | 2020.04.06 |
정규식 : 특정 패턴을 제외한 모든 패턴과 일치 (0) | 2020.04.06 |