git push / pull을 수행 할 때 비밀번호 프롬프트를 비활성화하려면 어떻게합니까?


34

내가 할 때마다 push및 / 또는 pull(리눅스) 터미널에서 나는 암호를 입력해야합니다. 암호없이 잡아 당기거나 밀기 위해 어떻게 제거합니까?


5
리포지토리 주소에 사용되는 프로토콜은 무엇입니까? ssh? https?
VonC

답변:


23

암호가없는 인증을 위해 개인 / 공개 키 쌍을 생성하십시오.

Linux의 경우 키는에 저장됩니다 ~/.ssh.

이미있는 파일이 있으면 ~/.ssh그 이름의 id_rsa과를 id_rsa.pub, 당신은 이미 키 쌍을 가지고있다. 공개 키의 내용 ( id_rsa.pub)을 Git 저장소의 ~ / .ssh / authorized_keys 파일에 추가하십시오.

$ scp ~/.ssh/id_rsa.pub user@git.repo:id_rsa.tmp
$ ssh user@git.repo
$ cat id_rsa.tmp >> .ssh/authorized_keys

키 페어가없는 경우 키 페어를 생성하십시오.

$ ssh-keygen -t rsa

자세한 지침은 다음을 읽으십시오 .http : //inchoo.net/tools-frameworks/how-to-generate-ssh-keys-for-git-authorization/


@slhck 아, 그 생각하지 않았다! 그래도 추가 지침을 게시하기 전에 OS whirlwin이 사용하고 있음을 아는 것이 좋습니다.
Jin

포인터 주셔서 감사합니다. 이에 따라 질문을 업데이트했습니다!
whirlwin

1
첫 번째 명령을 실행하면 ssh를 사용하여 git : // URL을 복제하는 것으로 나타납니다. core.gitProxy 구성 옵션 및 GIT_PROXY_COMMAND 환경 변수가 설정되어 있지 않은지 확인하십시오. 연결이 끊어짐
MultiformeIngegno

25

운영

git config credential.helper 저장소

그러면 루트 내의 폴더에 자격 증명이 저장됩니다. 이 명령 후에 git pull / push를 실행하고 처음으로 사용자 이름 / pwd를 제공해야합니다. 이것을 게시하면 사용자 / 암호를 묻지 않습니다. https://git-scm.com/docs/git-credential-store의 세부 사항


4
이 질문에 대한 정답으로 선택해야합니다. IMO는 OP가 솔루션으로 https전환하지 않고 사용자 이름 / 암호를 반복해서 입력하지 않아도 되는 솔루션에 대해 묻고 자했습니다 ssh. 이 답변에 1 이상.
Giang Nguyen

1
저장소 자격 증명 도우미는 암호를 디스크에 암호화되지 않은 상태로 저장합니다.
0xc0de

6

당신은 또한 단지 수 있습니다 귀하의 암호를 변경 하고 빈 문자열로 대체 :
ssh-keygen -p


3
이것이 잘못이 아닙니까? 더 이상 보안이 없기 때문에
titus

3
고맙습니다. 이것은 SSH 키 설정이 있지만 여전히 암호를 입력해야하는 이유를 모르는 사람들을위한 수정 사항입니다.
Cory Danielson

ssh-agent를 사용하는 것이 더 안전한 대안입니다. superuser.com/questions/426749/ssh-agent-and-ssh-add
Jay R. Wren

1

나는 새로운 지점을 만들었고 그 후에 내가 뽑을 때 사용자 이름과 암호를 입력해야했습니다. 그런 다음 ssh 주소 (관련 리포지토리 사이트에 있음)를 사용하여 분기를 다시 복제하는 문제를 해결합니다.

예를 들면 다음과 같습니다.

git clone git@github.com:sshare/GLE.git
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.