최근에 문제가 발생했습니다. git 저장소 (제 경우에는 Bitbucket)로 푸시하려고 할 때마다 다음 오류가 발생합니다.
$ git push origin master [email protected]: Permission denied (publickey). fatal: Could not read from remote repository. Please make sure you have the correct access rights and the repository exists.
다음 명령을 실행하여 문제를 해결할 방법을 찾았습니다.
eval `ssh-agent` ssh-add -l ssh-add ~/.ssh/id_rsa
이 작업을 수행 한 다음 git push origin master
, 작동합니다. 하지만 문제는이 문제가 얼마 후에 나타나기 시작한다는 것입니다 (아마도 재부팅 후 다시 나타나는 원인이 무엇인지 모르겠습니다). UPD : 재부팅으로 인해 발생하지 않았을 가능성이 큽니다. 위의 코드를 실행하고 10 분 후에 같은 오류가 발생했습니다. 그 이후로 노트북을 재부팅하지 않았습니다.
이러한 동작의 원인은 무엇이며 어떻게 해결할 수 있습니까?
댓글
- 1. confluence.atlassian.com/bbkb/ … 2. confluence.atlassian.com/bitbucket/…
- " ssh를 통해 키 체인에 추가 된 키 -add -K는 재부팅 후 ssh-agent에 자동으로 다시 추가되지 않습니다. " github에서 솔루션을 사용해 보셨습니까? .com / jirsbek / SSH-keys-in-macOS-Sierra-keychain ?
답변
ssh 키를 생성 할 때 보안을 위해 암호를 입력했기 때문에 이런 일이 발생한다고 생각합니다. ssh-agent를 시작하고 ssh / rsa_id를 추가 할 때 암호를 입력해야합니다.
[root@user xxxxx]# eval "$(ssh-agent -s)" Agent pid 12082 [root@user xxxxx]# ssh-add /home/user/.ssh/id_rsa Enter passphrase for /home/user/.ssh/id_rsa: Identity added: /home/user/.ssh/id_rsa (/home/user/.ssh/id_rsa) git push -u origin master Counting objects: 94, done.
Answer
알겠습니다. 문제 게시를 잊었습니다. 실수로 ~/.ssh/config
의 모든 호스트에 대해 다른 서버에 키를 설정했습니다. 모든 호스트 대신 모든 호스트를 삭제했습니다. 모든 호스트에 대해 삭제하고 해당 키가 필요한 호스트에 대해서만 설정하고 수정했습니다.
다른 사용자에게 도움이되기를 바랍니다.