힘내 계속 내 ssh 키 암호 문구를 요구
github 튜토리얼에서 지시 한대로 키를 만들고 github에 등록하고 ssh-agent를 명시 적으로 사용하려고 시도했지만 git은 당기거나 밀 때마다 암호 문구를 계속 묻습니다.
원인이 무엇입니까?
SSH 에이전트를 시작한 후 다음을 수행하십시오.
eval $(ssh-agent)
개인 키를 추가해야합니다.
ssh-add
암호문을 한 번만 요청하면 공개 키를 Github에 업로드 한 경우 푸시를 허용해야합니다.
macOS에서 키를 영구적으로 저장하려면 :
ssh-add -K
사용자의 키 체인에 저장하여 닫았다가 다시 연 후에도 유지됩니다.
OS X El Capitan (10.11)에서 macOS Sierra (10.12)로 업그레이드 한 후 다시 시작한 후에이 문제가 발생했습니다. ssh-add
솔루션은 일시적 일 수 있지만 다른 재시작 지속되지 것입니다.
영구적 인 솔루션은 옵션을 편집 (또는 작성) ~/.ssh/config
하고 활성화하는 UseKeychain
것입니다.
Host *
UseKeychain yes
관련 : macOS는 Sierra로 업데이트 한 후 ssh 암호 문구를 계속 묻습니다.
시도했지만 ssh-add
여전히 암호를 입력하라는 메시지가 표시되면를 사용해보십시오 ssh-add -K
. 그러면 암호 문구가 키 체인에 추가됩니다.
업데이트 : macOS Sierra를 사용하는 경우 위의 작업이 더 이상 작동하지 않을 수 있으므로 다른 단계를 수행해야 할 수도 있습니다. 에 다음을 추가하십시오 ~/.ssh/config
.
Host *
UseKeychain yes
나는 다음을 시도 할 것이다 :
- GitBash 시작
~/.bashrc
파일 편집- 파일에 다음 줄을 추가하십시오
SSH_ENV=$HOME/.ssh/environment
# start the ssh-agent
function start_agent {
echo "Initializing new SSH agent..."
# spawn ssh-agent
/usr/bin/ssh-agent | sed 's/^echo/#echo/' > ${SSH_ENV}
echo succeeded
chmod 600 ${SSH_ENV}
. ${SSH_ENV} > /dev/null
/usr/bin/ssh-add
}
if [ -f "${SSH_ENV}" ]; then
. ${SSH_ENV} > /dev/null
ps -ef | grep ${SSH_AGENT_PID} | grep ssh-agent$ > /dev/null || {
start_agent;
}
else
start_agent;
fi
- 파일을 저장하고 닫습니다
- GitBash 닫기
- GitBash 다시 열기
- 암호를 입력하십시오
~ / .ssh / config에 이것을 추가하십시오 :
Host * AddKeysToAgent yes UseKeychain yes IdentityFile ~/.ssh/id_rsa
... 개인 키의 이름이 id_rsa 라고 가정
Windows에서 나를 위해 일한 것은 (저는 repo 1st에서 코드를 복제했습니다) :
eval $(ssh-agent)
ssh-add
git pull
그 때 암호를 마지막으로 물어 봤습니다
크레딧 : 솔루션은 https://unix.stackexchange.com/questions/12195/how-to-avoid-being-asked-passphrase-each-time-i-push-to-bitbucket 에서 가져 왔습니다.
비슷한 문제가 있었지만 다른 답변으로도 문제가 해결되지 않았습니다. 다른 사람이 나 같은 설정을 가진 경우를 대비하여 게시하고 게시하겠다고 생각했습니다.
여러 개의 키가 있었고 Git이 먼저 잘못된 키를 사용하고있는 것으로 나타났습니다. 암호 문구를 묻는 메시지가 표시되면 암호를 입력 한 다음 Git이 작동하는 다른 키를 사용합니다 (암호를 입력 할 필요가 없습니다).
방금 암호 문구를 묻는 메시지를 표시하는 데 사용했던 키를 삭제했습니다.
SSH-Agent 자체에 문제가있는 것 같습니다. 문제를 해결하려고합니다.
1) SSH에 키를 추가하기 위해 ssh-add를 했습니까?
2) 사용 중에 터미널 창을 닫고 있습니까? 창을 닫으면 다시 열 때 암호를 다시 입력해야하기 때문입니다.
위의 솔루션이 저에게 효과적이지 않으면 확인해야 할 한 가지는 실제로 공개 키도 있습니다 (일반적으로 id_rsa.pub
). 그렇지 않은 것은 드문 일이지만 그것이 저의 원인이었습니다.
개인 키에서 공개 키를 만들려면
ssh-keygen -y -f ~/.ssh/id_rsa > ~/.ssh/id_rsa.pub
다른 솔루션을 시도하지만 도움이되지 않습니다. 그러나 Bitbucket.com 이음새 의이 단계 ( GitBash SSH 환경은 항상 암호 문구를 묻습니다. 어떻게해야합니까? )
아이디어는 다음과 같습니다.
당신은
~/.bashrc
파일 을 만듭니다팔로우 스크립트 추가 :
SSH_ENV=$HOME/.ssh/environment # start the ssh-agent function start_agent { echo "Initializing new SSH agent..." # spawn ssh-agent /usr/bin/ssh-agent | sed 's/^echo/#echo/' > "${SSH_ENV}" echo succeeded chmod 600 "${SSH_ENV}" . "${SSH_ENV}" > /dev/null /usr/bin/ssh-add } if [ -f "${SSH_ENV}" ]; then . "${SSH_ENV}" > /dev/null ps -ef | grep ${SSH_AGENT_PID} | grep ssh-agent$ > /dev/null || { start_agent; } else start_agent; fi
배쉬를 다시 실행
참고 URL : https://stackoverflow.com/questions/10032461/git-keeps-asking-me-for-my-ssh-key-passphrase
'Programing' 카테고리의 다른 글
선언적 프로그래밍과 명령형 프로그래밍의 차이점은 무엇입니까? (0) | 2020.02.14 |
---|---|
명부 (0) | 2020.02.14 |
JavaScript 배열에서 마지막 요소 선택하기 (0) | 2020.02.14 |
뷰의 getWidth () 및 getHeight ()는 0을 반환합니다. (0) | 2020.02.14 |
Try / Catch를 사용하지 않고 JavaScript에서 문자열이 유효한 JSON 문자열인지 확인하는 방법 (0) | 2020.02.14 |