힘내 자체 서명 인증서 구성
tl; dr
모든 SSL 확인을 비활성화하지 마십시오!
이것은 나쁜 보안 문화를 만듭니다. 그 사람이되지 마십시오.
당신이 따르는 구성 키는 다음과 같습니다.
신뢰할 수있는 호스트 인증서를 구성하기위한 것입니다.
SSL 문제에 응답하도록 인증서를 구성하기위한 것입니다.
위의 설정을 특정 호스트에 선택적으로 적용하십시오.
.gitconfig
자체 서명 인증 기관을위한 글로벌
본인과 동료를 위해 여기에 자체 서명 인증서를 비활성화하지 않고 작동시키는 방법이 나와 sslVerify
있습니다. 다음.gitconfig
을 git config --global -e
추가 하여 를 편집하십시오 .
# Specify the scheme and host as a 'context' that only these settings apply
# Must use Git v1.8.5+ for these contexts to work
[credential "https://your.domain.com"]
username = user.name
# Uncomment the credential helper that applies to your platform
# Windows
# helper = manager
# OSX
# helper = osxkeychain
# Linux (in-memory credential helper)
# helper = cache
# Linux (permanent storage credential helper)
# https://askubuntu.com/a/776335/491772
# Specify the scheme and host as a 'context' that only these settings apply
# Must use Git v1.8.5+ for these contexts to work
[http "https://your.domain.com"]
##################################
# Self Signed Server Certificate #
##################################
# MUST be PEM format
# Some situations require both the CAPath AND CAInfo
sslCAInfo = /path/to/selfCA/self-signed-certificate.crt
sslCAPath = /path/to/selfCA/
sslVerify = true
###########################################
# Private Key and Certificate information #
###########################################
# Must be PEM format and include BEGIN CERTIFICATE / END CERTIFICATE,
# not just the BEGIN PRIVATE KEY / END PRIVATE KEY for Git to recognise it.
sslCert = /path/to/privatekey/myprivatecert.pem
# Even if your PEM file is password protected, set this to false.
# Setting this to true always asks for a password even if you don't have one.
# When you do have a password, even with this set to false it will prompt anyhow.
sslCertPasswordProtected = 0
참고 문헌 :
git clone
-ing 시 설정 지정
리포 단위로 적용해야하는 경우 문서는 git config --local
repo 디렉토리에서 실행하도록 지시합니다 . repo를 로컬로 복제하지 않았을 때 유용하지 않습니다.
global -> local
위와 같이 전역 구성을 설정하여 Hokey-pokey를 수행 한 다음 해당 설정이 복제되면 로컬 repo 구성에 복사하십시오 ...
또는 당신이 할 수있는 것은 일단 복제되면 대상 저장소에 적용되는 구성 명령을 지정git clone
하는 것입니다.
# Declare variables to make clone command less verbose
OUR_CA_PATH=/path/to/selfCA/
OUR_CA_FILE=$OUR_CA_PATH/self-signed-certificate.crt
MY_PEM_FILE=/path/to/privatekey/myprivatecert.pem
SELF_SIGN_CONFIG="-c http.sslCAPath=$OUR_CA_PATH -c http.sslCAInfo=$OUR_CA_FILE -c http.sslVerify=1 -c http.sslCert=$MY_PEM_FILE -c http.sslCertPasswordProtected=0"
# With this environment variable defined it makes subsequent clones easier if you need to pull down multiple repos.
git clone $SELF_SIGN_CONFIG https://mygit.server.com/projects/myproject.git myproject/
짧막 한 농담
편집 : 2.14.x / 2.15 에서이 하나의 라이너까지 특정 자식 버전의 절대 및 상대 경로에 대한 경고를 나타내는 VonC 의 답변 을 참조하십시오
git clone -c http.sslCAPath="/path/to/selfCA" -c http.sslCAInfo="/path/to/selfCA/self-signed-certificate.crt" -c http.sslVerify=1 -c http.sslCert="/path/to/privatekey/myprivatecert.pem" -c http.sslCertPasswordProtected=0 https://mygit.server.com/projects/myproject.git myproject/
CentOS unable to load client key
CentOS 에서이 작업을 시도하고 .pem
파일에서 제공하는 경우
unable to load client key: "-8178 (SEC_ERROR_BAD_KEY)"
그런 다음 Open SSL 대신 NSS를 사용 하는 방법에 대한 이 StackOverflow 답변 을 원할 curl
것입니다.
그리고 당신은 소스 에서 다시 빌드curl
하고 싶습니다 :
git clone http://github.com/curl/curl.git curl/
cd curl/
# Need these for ./buildconf
yum install autoconf automake libtool m4 nroff perl -y
#Need these for ./configure
yum install openssl-devel openldap-devel libssh2-devel -y
./buildconf
su # Switch to super user to install into /usr/bin/curl
./configure --with-openssl --with-ldap --with-libssh2 --prefix=/usr/
make
make install
libcurl이 여전히 공유 라이브러리로 메모리에 있으므로 컴퓨터를 다시 시작하십시오.
파이썬, 핍 및 콘다
관련 : Windows에서 pip가 사용하는 CA Store에 사용자 지정 CA 루트 인증서를 추가하는 방법은 무엇입니까?