Git http-안전하게 자격 증명 기억
HTTP (S)를 통해 원격 저장소에 연결할 때 git이 내 자격 증명을 안전하게 기억하도록하는 방법이 있습니까?
외부 스크립트가 내 자격 증명을 제공하도록하기 위해 core.askpass
자세한 방법을 시도했습니다 git-config
. 잘 작동하지만 사용자 이름과 암호는 여전히 작은 쉘 스크립트에 일반 텍스트로 저장됩니다.
git
HTTP를 통해 실행할 때 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
'Programing' 카테고리의 다른 글
자바 스크립트에서 바이트 배열을 문자열로 변환 (0) | 2020.11.11 |
---|---|
응용 프로그램 대 세션 대 캐시 (0) | 2020.11.11 |
특정 포함 파일에 대한 경고를 비활성화하는 방법은 무엇입니까? (0) | 2020.11.11 |
Java 8 Streams가 컬렉션의 항목에서 작동 한 다음 제거 할 수 있습니까? (0) | 2020.11.11 |
div에 스크롤 막대를 어떻게 추가합니까? (0) | 2020.11.11 |