[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-addssh-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>