모든 자식 푸시에서 사용자 이름과 비밀번호를 지정하지 않으려면 어떻게합니까? 메시지가 표시됩니다 username및 password. 푸시

나는 git push원격 Git 저장소에 내 작품.

모든는 push입력에 저를 묻는 메시지가 표시됩니다 usernamepassword. 푸시 할 때마다 피하고 싶지만 피하지 않도록 구성하는 방법은 무엇입니까?



답변

1. SSH 키 생성

리눅스 / 맥

터미널을 열어 ssh 키를 작성하십시오.

cd ~                 #Your home directory
ssh-keygen -t rsa    #Press enter for all values

Windows의 경우

(커밋 프로그램이 인증서 / 개인 및 공개 ssh 키를 사용할 수있는 경우에만 작동)

  1. Putty Gen을 사용하여 키 생성
  2. 키를 열린 SSH 키로 내보내기

위의 단계에 대한 퍼티 세대에 대한 연습 이 있습니다.

2. SSH 키를 원격 저장소와 연관 시키십시오.

이 단계는 리모컨 설정 방법에 따라 다릅니다.

  • GitHub 저장소이고 관리자 권한이있는 경우 설정으로 이동하여 ‘SSH 키 추가’를 클릭하십시오. ~/.ssh/id_rsa.pub‘키’라고 표시된 입력란에 내용을 복사합니다 .

  • 저장소가 다른 사람에 의해 관리되는 경우 관리자에게 id_rsa.pub.

  • 원격 저장소가 사용자에 의해 관리되는 경우 다음 명령을 사용할 수 있습니다.

    scp ~/.ssh/id_rsa.pub YOUR_USER@YOUR_IP:~/.ssh/authorized_keys/id_rsa.pub

3. 원격 URL을 SSH 1 을 지원하는 양식으로 설정하십시오.

위의 단계를 수행 한 후에도 여전히 비밀번호 프롬프트가 표시되면 리포 URL이 양식인지 확인하십시오.

git+ssh://git@github.com/username/reponame.git

반대로

https://github.com/username/reponame.git

repo URL을 보려면 다음을 실행하십시오.

git remote show origin

다음을 사용하여 URL을 변경할 수 있습니다.

git remote set-url origin git+ssh://git@github.com/username/reponame.git

[1]이 섹션은 Eric P 의 답변을 포함합니다.


답변

Git 리포지토리로 영구적으로 인증

신임 캐싱을 사용하려면 다음 명령을 실행하십시오.

$ git config credential.helper store
$ git push https://github.com/repo.git

Username for 'https://github.com': <USERNAME>
Password for 'https://USERNAME@github.com': <PASSWORD>

캐싱 expire를 지정해야합니다 .

git config --global credential.helper 'cache --timeout 7200'

자격 증명 캐싱을 활성화하면 7200 초 (2 시간) 동안 캐시됩니다 .

참고 : 자격 증명 도우미는 암호화되지 않은 암호를 로컬 디스크에 저장합니다.


답변

SSH 키가 이미 설정되어 있고 여전히 비밀번호 프롬프트가 표시되는 경우 리포지토리 URL이 양식인지 확인하십시오.

git+ssh://git@github.com/username/reponame.git

반대로

https://github.com/username/reponame.git

repo URL을 보려면 다음을 실행하십시오.

git remote show origin

다음과 git remote set-url같이 URL을 변경할 수 있습니다 .

git remote set-url origin git+ssh://git@github.com/username/reponame.git

답변

--repogit push 명령 에는 옵션을 사용하십시오 . 이처럼 :

$ git push --repo https://name:password@bitbucket.org/name/repo.git

답변

무기한 저장

당신이 사용할 수있는 자식-자격 증명 매장을 통해

git config credential.helper store

파일 시스템에 암호화되지 않은 비밀번호저장합니다 .

이 도우미를 사용하면 암호가 디스크에 암호화되지 않고 파일 시스템 권한으로 만 보호됩니다. 이것이 허용 가능한 보안 상충 관계가 아닌 경우 git-credential-cache를 시도하거나 운영 체제에서 제공하는 보안 저장소와 통합되는 도우미를 찾으십시오.

타임 아웃

기본적으로 15 분 동안 비밀번호를 저장 하는 git-credential-cache 를 사용하십시오 .

git config credential.helper cache

다른 시간 초과를 설정하려면 --timeout(여기서 5 분)을 사용 하십시오

git config credential.helper 'cache --timeout=300'

무기한 보안 저장 (OS X 및 Windows)

  • Mac을 사용하는 경우 Git에는 “osxkeychain”모드 가 제공되어 시스템 계정에 연결된 보안 키 체인의 자격 증명을 캐시합니다. 이 방법은 디스크에 자격 증명을 저장하지만 만료되지는 않지만 HTTPS 인증서와 Safari 자동 채우기를 저장하는 동일한 시스템으로 암호화됩니다. 명령 행에서 다음을 실행하면이 기능이 활성화됩니다 git config --global credential.helper osxkeychain. 키 체인 앱을 사용하여 키 체인에 자격 증명을 저장해야합니다.
  • Windows를 사용하는 경우 “Git Credential Manager for Windows”라는 도우미를 설치할 수 있습니다 . 이것은 위에서 설명한“osxkeychain”도우미와 비슷하지만 Windows 자격 증명 저장소를 사용하여 중요한 정보를 제어합니다. https://github.com/Microsoft/Git-Credential-Manager-for-Windows 에서 찾을 수 있습니다 . [중점 광산]

답변

https://github.com/org/repo.gitssh 링크 대신 https 링크 ( )를 사용하고있었습니다 .

git@github.com:org/repo.git

전환하면 문제가 해결되었습니다!


답변

1 단계 –

아래 명령을 사용하여 Linux 시스템에서 SSH 키를 작성하십시오.

ssh-keygen -t rsa -b 4096 -C "your_email"

암호와 파일 이름을 요구합니다 (기본값은 ~ / .ssh / id_rsa, ~ / .ssh / id_rsa.pub).

2 단계 –

파일이 생성되면 공개 키 id_rsa.pub를 github 계정 ssh 섹션에 추가하십시오.

3 단계-

컴퓨터에서 아래 명령을 사용하여 개인 키 id_rsa를 ssh-agent에 추가하십시오.

ssh-add ~/.ssh/id_rsa

4 단계-

이제 아래 명령을 사용하여 원격 URL git@github.com : user_name / repo_name.git을 로컬 git repo에 추가하십시오.

git remote remove origin
git remote add origin git@github.com:user_name/repo_name.git

그게 다야.