[bash] Github 권한 거부 : ssh add 에이전트에 ID가 없습니다
이것은 GitHub에 처음 액세스하는 것으로 콘솔 사용 경험이 없습니다. Bash를 사용하는 MacBook에 있습니다. GitHub에 액세스하려고하면 다음과 같은 결과가 나타납니다.
git clone git@github.com:dhulihan/league-of-legends-data-scraper.git
Cloning into 'league-of-legends-data-scraper'...
Permission denied (publickey).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
권한 거부에 대한 Github 페이지의 지침을 따르려고했습니다.
사용 ssh -vT git@github.com
하면 다음과 같은 결과가 나타납니다.
OpenSSH_6.2p2, OSSLShim 0.9.8r 8 Dec 2011
debug1: Reading configuration data /etc/ssh_config
debug1: /etc/ssh_config line 20: Applying options for *
debug1: Connecting to github.com [192.30.252.129] port 22.
debug1: Connection established.
debug1: identity file /Users/XXXX/.ssh/id_rsa type -1
debug1: identity file /Users/XXXX/.ssh/id_rsa-cert type -1
debug1: identity file /Users/XXXX/.ssh/id_dsa type -1
debug1: identity file /Users/XXXX/.ssh/id_dsa-cert type -1
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_6.2
debug1: Remote protocol version 2.0, remote software version libssh-0.6.0
debug1: no match: libssh-0.6.0
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: kex: server->client aes128-ctr hmac-sha1 none
debug1: kex: client->server aes128-ctr hmac-sha1 none
debug1: sending SSH2_MSG_KEXDH_INIT
debug1: expecting SSH2_MSG_KEXDH_REPLY
debug1: Server host key: RSA 16:27:ac:a5:76:28:2d:36:63:1b:56:4d:eb:df:a6:48
debug1: Host 'github.com' is known and matches the RSA host key.
debug1: Found key in /Users/XXXX/.ssh/known_hosts:1
debug1: ssh_rsa_verify: signature correct
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug1: SSH2_MSG_NEWKEYS received
debug1: Roaming not allowed by server
debug1: SSH2_MSG_SERVICE_REQUEST sent
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: publickey
debug1: Next authentication method: publickey
debug1: Trying private key: /Users/XXXX/.ssh/id_rsa
debug1: Trying private key: /Users/XXXX/.ssh/id_dsa
debug1: No more authentication methods to try.
Permission denied (publickey).
그런 다음 eval "$(ssh-agent -s)"
“에이전트 pid 2314″를 ssh-add -l
리턴 하지만 “에이전트에 ID가 없습니다”를 리턴합니다.
그리고 그것이 내가 붙어있는 곳입니다.
답변
이 답변에 대한 자세한 내용 .
때 요약하면, ssh-add -l
반환 “에이전트가 어떤 정체성이 없다”, 그것은에 의해 사용되는 키를 의미합니다 ssh
(예 : 파일에 저장 ~/.ssh/id_rsa
, ~/.ssh/id_dsa
되지 않았거나, 그들에게 알려져 있지 않습니다되며, 등) ssh-agent
인증 에이전트, 또는 자신의 권한 있다고하는, 월드 쓰기 가능과 같이 잘못 설정되었습니다.
당신의 키가 없거나 어떤을 생성하지 않은 경우, 사용하는 경우 ssh-keygen -t rsa
, 다음 ssh-add
을 추가 할 수 있습니다.
키가 존재하지만 알려지지 않은 ssh-agent
경우 (비표준 폴더에있는 것처럼) 키 ssh-add /path/to/my-non-standard-ssh-folder/id_rsa
를 추가하십시오.
또는에 문제가있는 경우이 답변을 참조하십시오 .ssh-add
ssh-agent
답변
이 시도:
ssh-add ~/.ssh/id_rsa
나를 위해 일했다
답변
macOS Sierra 및 High Sierra 및 Catalina의 2019 년 답변 :
추신 : 다른 답변의 대부분은 새로운 ssh 키를 만들도록 할 것입니다 …하지만 그렇게 할 필요는 없습니다 🙂
https://openradar.appspot.com/27348363 에 자세히 설명 된 것처럼 요세미티까지 macOS / OS X는 명령으로 추가 된 SSH 키를 기억하는 데 사용됩니다.ssh-add -K <key>
다음은 작동하기 위해 취해야 할 4 가지 단계입니다.
1: ssh-add ~/.ssh/PATH_TO_YOUR_SSH_PRIVATE_KEY (e.g. ~/.ssh/id_rsa)
2 : 에 다음을 추가하십시오~/.ssh/config
Host *
AddKeysToAgent yes
UseKeychain yes
IdentityFile PATH_TO_YOUR_SSH_PRIVATE_KEY (e.g. ~/.ssh/id_rsa)
3 : osxkeychain 도우미를 사용하는 gitconfig 항목을 제거하십시오.
https://github.com/gregory/dotfiles/commit/e38000527fb1a82b577f2dcf685aeefd3b78a609#diff-6cb0f77b38346e0fed47293bdc6430c6L48
4 : 터미널을 다시 시작하여 적용하십시오.
답변
나는 같은 문제로 잠시 고착되어 결국 해결되었습니다.
내 문제 : 푸시를 실행할 수 없습니다. 리모컨을 사용하여 확인하고 볼 수 git remote -v
있지만 (을 사용하여 ) 실행 git push origin master
하면 : Permission denied (publickey). fatal: Could not read from remote repository.
등 이 반환되었습니다 .
내가 해결 한 방법 :
- 을 사용하여 키 를 생성했습니다
ssh-keygen -t rsa
. 키 파일의 이름을 입력하는 것은 쓸모가 없었습니다. - 그때 수 (자식을) 키 추가 :
ssh-add /Users/federico/.ssh/id_rsa
성공적으로 반환Identity added: /Users/myname/.ssh/id_rsa (/Users/myname/.ssh/id_rsa)
- 이 도움말 페이지를 사용하여 SSH 키를 github에 추가했습니다 .
- Github의 ‘Permission denied publickey’도움말 페이지에서 모든 명령을 시도했지만
ssh-add -l
이전 단계를 실행 한 후 명령 만 작동 / 유용 해 보였으므로 키를 성공적으로 반환했습니다. 마지막 단계 는 GitHub 페이지에서 공개 키를 확인할 위치를 보여줍니다. 이 명령은 모든 키를 확인하는 데 도움이됩니다ls -al ~/.ssh
.
그런 다음 push 명령이 결국 작동했습니다!
이것이 도움이되기를 바랍니다! 모두에게 행운을 빕니다.
답변
다음 명령을 실행하십시오.
ssh-keygen -t rsa
ssh-add /Users/*yourUserNameHere*/.ssh/id_rsa**
pbcopy < ~/.ssh/id_rsa.pub**
Github 계정으로 이동하십시오 : https://github.com/settings/profile
1) 클릭 : SSH 및 GPG 키
2) 새로운 SSH 키 및 붙여 넣기
3) SSH 키 추가
끝난!
답변
우선
Mac의 터미널이나 창에서 사용하는 모든 유형의 명령에 따라 ssh 디렉토리로 이동해야합니다.
cd ~/.ssh
이제 ssh에
있습니다. 모든 프로젝트와 관련된 모든 ssh 키 / 파일을 찾을 수 있습니다. 이제 다음 명령을 입력하여 사용 가능한 ssh 키가 있는지 표시하십시오.
ls
이것은 당신에게 사용 가능한 모든 ssh를 보여줄 것입니다. 제 경우에는 두 가지가있었습니다
. ssh를 추가하려면 에이전트를 시작해야합니다. 이 유형 다음 명령
eval "$(ssh-agent -s)"
이제 마지막 으로이 에이전트 유형에 ssh를 추가하여 명령을 따릅니다.
ssh-add ~/.ssh/your-ssh
바꾸다
your-ssh를 ssh 파일 이름으로 바꾸십시오.
ls command
답변
이로 인해 새로운 터미널이 발생할 수 있으며 에이전트 ID가 다릅니다. 에이전트의 개인 키를 추가해야합니다
$ ssh-add <path to your private key>