Programing

Git http-안전하게 자격 증명 기억

lottogame 2020. 11. 11. 07:52
반응형

Git http-안전하게 자격 증명 기억


HTTP (S)를 통해 원격 저장소에 연결할 때 git이 내 자격 증명을 안전하게 기억하도록하는 방법이 있습니까?

외부 스크립트가 내 자격 증명을 제공하도록하기 위해 core.askpass자세한 방법을 시도했습니다 git-config. 잘 작동하지만 사용자 이름과 암호는 여전히 작은 쉘 스크립트에 일반 텍스트로 저장됩니다.


gitHTTP를 통해 실행할 때 cURL을 호출합니다. .netrc사용자의 홈 디렉토리에 파일 을 설정하고 사용자에게 비공개로 설정하여 보안 자격 증명을 저장할 수 있습니다 (Linux의 경우 0600).

파일의 내용은 원격 도메인 당 사용자 이름과 암호를 제공합니다.

machine myRemoteServer
login myUserName
password s3cret

LDAP 서버에 대한 호출을 쉽게 포함 할 수있는 전체 서버 측 구성 https://stackoverflow.com/questions/3947530/git-push-fatal-failed/7177690#7177690참조 하십시오 .


(내 생각에) git 버전 1.7.8부터 2011 년 12 월 2 일부터 1) , git은 소위 자격 증명 도우미를 지원 합니다 .

자세한 내용은 gitcredentials (7) 맨 페이지를 참조하십시오 (이 맨 페이지는 이에 맞는 위치도 설명 합니다).
core.askpass

기본 git 설치에는 두 가지 도우미가 포함됩니다.

  • cache : 자세한 내용은 git-credential-cache (1) 를 참조하십시오.

    짧은 기간 동안 메모리에 자격 증명을 캐시합니다. 저장된 자격 증명은 디스크를 건드리지 않으며 구성 가능한 시간 초과 후에는 잊혀집니다. 소켓을 사용하여 데몬과 통신하므로 Unix 전용 솔루션입니다.

  • store : 자세한 내용은 git-credential-store (1) 을 참조하십시오.

    자격 증명을 디스크에 무기한 저장합니다. 파일에는 시스템의 다른 사용자가 파일을 읽지 못하도록 파일 시스템 권한이 설정되지만 암호화되거나 보호되지 않습니다. Eddie Response의.netrc 솔루션 과 동일한 보안


KDEWallet (KDE), GNOME Keyring , Windows Credential Store (이제 Windows 용 Git에 통합됨 ), MacOS X Keychain 등에 사용자 이름과 암호를 저장하기위한 타사 자격 증명 도우미 가 있습니다 .


각주 :

1) 설정까지 힘내 GitHub의 도움말 페이지가 있음을 언급

자격 증명 도우미를 사용 하려면 git 1.7.10 이상 이 필요합니다.


때문에 자식 1.8.3 (5 월, 2013), 당신은 지금이 지정할 수 있습니다 암호화.netrc 사용에 자식을 위해 :

파일 과 상호 작용 하는 새로운 읽기 전용 자격 증명 도우미 ( contrib/credential/netrc/) .netrc/.authinfo가 추가되었습니다.

이 스크립트를 사용하면 gpg로 암호화 된 netrc 파일사용할있으므로 자격 증명을 일반 텍스트 파일에 저장하는 문제를 방지 할 수 있습니다.

-f|--file AUTHFILE
specify netrc-style files.  

.gpg확장자를 가진 파일은 구문 분석 전에 GPG에 의해 해독됩니다.
여러 -f인수가 괜찮습니다. 그것들은 순서대로 처리되고, 발견 된 첫 번째 일치 항목은 자격 증명 도우미 프로토콜을 통해 반환됩니다 (아래 참조).

어떤 경우에는 -f옵션이 제공되지 않는, .authinfo.gpg, .netrc.gpg, .authinfo, 및 .netrc홈 디렉토리에있는 파일은 다음 순서로 사용된다.

이 자격 증명 도우미를 활성화하려면 :

git config credential.helper '$shortname -f AUTHFILE1 -f AUTHFILE2'

(Git은 git-credential-도우미 이름 앞에 " "를 추가 하고 경로에서 찾습니다.)


" 사용시 비밀번호 입력을 건너 뛸 수있는 방법이 있습니까 " 에서 전체 단계별 예참조하십시오 .
https://github.com


보안 옵션은 공개 / 개인 키 쌍으로 일반 SSH를 사용하는 것입니다.


이것은 당신을 위해 일할 것입니다 ... http://samuel.kadolph.com/2011/03/store-your-git-https-passwords-in-your-os-x-keychain/

참고 URL : https://stackoverflow.com/questions/6191985/git-http-securely-remember-credentials

반응형