[Git] 힘내는 비밀 번호에 대한 나에게 묻고 계속


Answers

credential.helper 구성

OS X (현재 macOS)에서 이것을 터미널에서 실행하십시오.

git config --global credential.helper osxkeychain

git은 Keychain.app를 사용하여 사용자 이름과 암호를 저장하고 키 체인에서 개인 ssh 키에 대한 암호를 검색 할 수 있습니다.

창문 사용 :

git config --global credential.helper wincred

문제 해결

git 자격 증명 도우미가 올바르게 구성되어 있으면 macOS가 키 체인에 암호를 저장합니다. 때때로 ssh와 키 체인에 저장된 암호문 사이연결 이 끊어 질 수 있습니다. 키 체인에 키를 다시 추가하려면 ssh-add -K 또는 ssh-add ~/.ssh/id_rsa 를 실행하십시오.

macOS 10.12 Sierra가 ssh로 변경되었습니다.

macOS 10.12의 경우 Sierra ssh-add -K 는 재부팅 할 때마다 실행해야합니다. 이를 피하기 위해 ~/.ssh/config 을 생성하십시오.

Host *
   AddKeysToAgent yes
   UseKeychain yes
   IdentityFile ~/.ssh/id_rsa

10.12.2의 ssh_config man 페이지에서 :

UseKeychain

macOS에서 특정 키를 사용하려고 할 때 시스템이 사용자의 키 체인에서 암호문을 검색할지 여부를 지정합니다. 사용자가 패스 프레이즈를 제공하면이 옵션은 패스 프레이즈가 올바른 것으로 확인되면 키 체인에 패스워드를 저장할지 여부를 지정합니다. 인수는 '예'또는 '아니오'여야합니다. 기본값은 '아니오'입니다.

애플은 Technote 2449 를 추가하여 어떤 일이 일어 났는지 설명합니다.

macOS Sierra 이전에는 ssh가 암호를 묻는 대화 상자를 표시하고이를 키 체인에 저장하는 옵션을 제공합니다. 이 UI는 얼마 전 사용되지 않아 제거되었습니다.

Question

나는 Git을 잠시 동안 사용 해왔다. 그러나 암호에 대한 끊임없는 요청은 나를 벽으로 몰아 넣기 시작했다.

나는 OSX와 Github을 사용하고 있으며, GitHub의 Set Up Git 페이지 에서 지시 한대로 Git과 SSH 키를 설정했다 . 또한 GitHub의 SSH 키 암호 문구 페이지에서 언급 한 것처럼 Mac OSX 키 체인에 github SSH 키를 추가했습니다. 내 공개 키는 Git에 등록되어 있습니다.

그럼에도 불구하고, 내가 잡아 당겨하려고 할 때마다 내 사용자 이름과 비밀 번호를 입력해야합니다. 거기에 내가 설정해야 할 SSH 키 이외의 것이 있습니까?




static_rtti가 위에서 말했듯이

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

ssh://git@github.com/username/repo.git

나 자신이 .git / config 파일에서 https를 ssh로 변경했지만 여전히 작동하지 않았다. 그런 다음 github.com을 git@github.com으로 변경해야한다는 것을 알았습니다. 실제 올바른 URL을 얻는 좋은 방법은 프로젝트 페이지로 이동하여이 URL을 클릭하는 것입니다.

올바른 URL을 얻으려면 HTTPS를 SSH로 변경하십시오.

그런 다음이 URL을 구성 파일에 추가하십시오.




SSH를 사용하여 창과 Github에서 git을 사용하여 http://nathanj.github.io/gitguide/tour.html 을 밀거나 당기는 방법

  1. 퍼티 다운로드 및 설치
  2. 환경 변수 'GIT_SSH'= 'path \ to \ plink.exe'(설치된 putty 폴더에 있음) 설정 - 아주 중요 !!!
  3. Env 변수에 대한 WINDOWS EXPLORER 다시 실행 (명령 프롬프트를 다시 시작할 수 없음)
  4. puttygen.exe를 실행하여 새 키를 생성하고 PUBLIC 키를 Github 사이트에 복사합니다.
  5. 이 새 PRIVATE 키를 디스크의 안전한 곳에 보관합니다 (드롭 박스가 아닌 것이 좋음).
  6. putty.exe를 실행하고 github.co에 SSH를 연결하십시오.
  7. "shell : startup"을 실행하여 시작 폴더로 빠르게 이동하십시오. 8 미인을 통해 창으로 개인 키를 시작하십시오. "path \ to \ pageant.exe" "path \ to \ privatekey"구문을 사용하여 시작 폴더에 바로 가기 만들기
  8. 우리는 repos의 .git / config 안에 'puttykeyfile'설정을 할 필요가 없습니다.
  9. Github의 "SSH clone URL"은 Https가 아니라 사용된다는 것이 매우 중요합니다.



또한 누가 암호문을 요구하는지 묻습니다. 그것은 자식인가 아니면 당신의 SSH 에이전트인가?

내 경우에는, 내가 git pull 때마다 그것은 나에게 묻고 있었다 :

Enter passphrase for key '/work/username/.ssh/id_rsa':

그래서 나는 그것을 passphrase를 요구하는 git이라고 생각했다. 그래서 나는 솔루션을 찾기 위해 사냥을 계속했고, 나중에 SSH 에이전트가 종료되었다는 것을 깨달았습니다. here. 주어진대로 고칠 수 있습니다 here.

이것은 제가 생각한 바보 같은 실수였습니다. 그러나 여기에 게시하는 것은 누군가가 잘못된 트리를 짖는 것으로부터 약간의 시간을 절약하는 데 도움이되는 경우를 대비해서입니다.




이것을 사용하십시오 : github.com을 적절한 호스트 이름으로 대체하십시오

git remote set-url origin git@github.com:user/repo.git



github에서 키를 사용하려면 먼저 SSH 연결 테스트 자습서의이 단계를 수행하십시오.

$ ssh -T git@github.com
# Attempts to ssh to GitHub



구성에 따라 다른 종류의 인증이 있습니다. 다음은 몇 가지 예입니다.

  1. git credential-osxkeychain .

    자격 증명이 유효하지 않은 경우 다음 방법으로 제거하십시오.

    git credential-osxkeychain erase
    

    또는:

    printf "protocol=https\nhost=github.com\n" | git credential-osxkeychain erase
    

    그래서 자식은 키 체인 권한을 다시 요구하지 않습니다. 그런 다음 다시 구성하십시오.

    참고 : GitHub에서 OSX Keychain 에서 자격 증명 업데이트

  2. 귀하의 SSH RSA 키.

    이 경우 SSH 키를 추가 한 것과 SSH 키를 비교해야하며 올바른 ID를 사용하고 있다면 ssh-add -L / ssh-add -l 사용하여 확인하십시오.

  3. HTTPS 인증 ( ssh 프로토콜 대신 https 를 사용하는 경우).

    ~/.netrc (Windows의 경우 %HOME%/_netrc )를 사용하여 자격 증명을 제공하십시오 (예 :

    machine stash1.mycompany.com
    login myusername 
    password mypassword
    

    추가 정보 : GitHub와 Syncing




다음 명령을 사용하여 잠시 동안 암호를 다시 입력 할 수 있도록 제한 시간을 늘리십시오

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

나는 Bitbucket과 Github을 위해 그것을 모두 사용했다. 당신이해야 할 일은 3600 초입니다, 당신이 원하는만큼 그것을 증가시킵니다. 259200 그것을 259200 바꿨습니다. 이것은 약 30 일입니다. 이렇게하면 30 일마다 암호를 다시 입력합니다.




귀하의 터미널에있는 자식과 함께 키 체인을 사용하여 orkoden의 대답이 불완전하고 오류가 발생했습니다. 이것은 사용자가 키 체인의 터미널에 입력 한 사용자 이름과 암호를 저장하기 위해 수행해야하는 작업입니다.

curl http://github-media-downloads.s3.amazonaws.com/osx/git-credential-osxkeychain -o git-credential-osxkeychain
sudo mv git-credential-osxkeychain /usr/local/bin
sudo chmod u+x /usr/local/bin/git-credential-osxkeychain

그런 다음

git config --global credential.helper osxkeychain

곱슬 곱슬하기 전에 git config로 이미 작업을했다면 아무런 문제가 없다.




Links