source

Github 사용 권한 거부: SSH add 에이전트에 ID가 없습니다.

factcode 2023. 5. 9. 23:02
반응형

Github 사용 권한 거부: SSH add 에이전트에 ID가 없습니다.

GitHub에 접속하는 것은 이번이 처음이고 콘솔을 사용한 경험이 없습니다.나는 Bash를 사용하는 맥북에 있습니다.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)" 2314를 반환하지만 " pid 2314"는 반환되지 않습니다.ssh-add -l"에이전트에 ID가 없습니다."를 반환합니다.

그리고 그것이 제가 갇혀있는 곳입니다.

답변의 전체 세부 정보입니다.

요약하자면, 언제ssh-add -l"가 없습니다합니다. 즉, "에이전트에게 ID가 없습니다."에서 입니다. 이는 에서 사용되는 키를 의미합니다.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 시에라 & 하이 시에라 & 카탈리나에 대한 2019년 답변:

PS: 대부분의 다른 답변은 새 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했을 때), 하만지내실을했때행가때▁),을하▁when.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추가했습니다.
  • denied key' 페이지의 모든 해 본 Github의 'Permission denied public key'만 할 수 .ssh-add -l명령이 작동했습니다. / 유용해 보였습니다(이전 단계를 실행한 후). 성공적으로 키를 반환했습니다.마지막 단계는 GitHub 페이지에서 공개 키를 확인하는 위치를 보여줍니다.이 명령은 모든 키를 확인하는 데 도움이 됩니다.ls -al ~/.ssh.

그 후 푸시 명령이 작동했습니다!

이것이 도움이 되길 바랍니다! 모두에게 행운이 있기를 바랍니다.

다음 명령을 실행합니다.

ssh-keygen -t rsa
ssh-add /Users/*yourUserNameHere*/.ssh/id_rsa** 
pbcopy < ~/.ssh/id_rsa.pub**

Github 계정으로 이동합니다. https://github.com/settings/profile

클릭: SSH 및 GPG 키

새 SSH 키를 붙여넣습니다.

SSH 키 추가

알았어!

tl;dr

ssh-add # no parameter
# Identity added: /home/<user>/.ssh/id_rsa (user@host)

추가 판독치

ssh - user - 폴더에 필요한 두 개의 파일:

ls ~/.ssh
id_rsa id_rsa.pub

명령어를 합니다.ssh-keygen

이제 ssh-agent를 시작합니다.

eval `ssh-agent -s`

확인

ssh-add -l
# voila:
2048 SHA256:<key one> user@host (RSA)

보너스

신문을 .SHA256 위에터깃와함께허브부서▁with▁the▁above▁from께함▁g와브허.SHA256사용자 설정에서 -> SSH 키를 누릅니다.키가 같은 경우 키를 사용하여 Github에서 푸시/풀할 수 있어야 합니다.

당신은 디렉토리에 .
mac 을 사용합니다.

cd ~/.ssh

은 ssh .
여기에서 모든 프로젝트와 관련된 모든 SSH 키/파일을 찾을 수 있습니다.이제 다음 명령을 입력하여 사용 가능한 ssh 키가 있는지 여부를 표시합니다.

ls

은 사용 한 모든 ssh를 입니다. 제 에는 두 의 ssh와 SSH, 이제 두 는 개 에 였 습 니 경 우 다 니 것 를 사 입 것 은 용 가 줄 보 모 능 여 한 든 니 다 ▁this 이 ▁two ▁were습 , 였 개
이제 SSH를 추가하려면 에이전트를 시작해야 합니다. 명령을 따릅니다.

eval "$(ssh-agent -s)"

이제 마지막이지만 다음 명령에 따라 이 에이전트 유형에 SSH를 추가합니다.

ssh-add ~/.ssh/your-ssh

교체하다

를 두 번째 의 목록에서 . 파일 이름은 SSH 파일 이름입니다.ls command

이로 인해 모든 새 터미널에서 에이전트 ID가 다를 수 있습니다.에이전트의 개인 키를 추가해야 합니다.

$ ssh-add <path to your private key>

이것은 저에게 효과가 있었습니다.
chmod 700 .ssh chmod 600 .ssh/id_rsa chmod 644 .ssh/id_rsa.pub

그런 다음 다음을 입력합니다.ssh-add ~/.ssh/id_rsa

위 답변의 요지와 함께 Mac Big Sur의 경우 다음 단계가 저에게 도움이 됩니다.

$ ssh-keygen -q -t rsa -N 'password' -f ~/.ssh/id_rsa
$ ssh-add ~/.ssh/id_rsa

그리고 다음 지침에 따라 git hub에 ssh 공개 키를 추가했습니다.

https://docs.github.com/en/github/authenticating-to-github/adding-a-new-ssh-key-to-your-github-account

모든 것이 잘 진행되면 다음과 같은 결과를 얻을 수 있을 것입니다.

$ ssh -T git@github.com
Hi user_name! You've successfully authenticated,...

한 가지 추가적인 요소는 일반적으로 .ssh 폴더가 Mac OS X /Users/의 루트 폴더에 생성된다는 것입니다.다른 폴더에서 ssh -vT git@github.com 을 사용하려고 하면 올바른 키를 추가했더라도 오류가 표시됩니다.

성공적으로 인증하려면 현재 폴더에서 키를 다시 추가(ssh-add 'id_rsa에 대한 올바른 경로')해야 합니다(키를 Git에 이미 업로드했다고 가정).

백업에서 하드 드라이브를 복원한 후 이 문제가 발생했습니다.

내 문제:(git remote -v를 사용하여) 내 리모컨을 확인하고 볼 수 있었지만 git push origin 마스터를 실행했을 때 권한 거부(공개 키)가 반환되었습니다.치명적: 원격 리포지토리에서 읽을 수 없습니다.

는 이미 와 SSH 키를 있었고 Terminal)을 했습니다.ssh-add /path/to/my-ssh-folder/id_rsa제되었지만, 않고 한 오류가 ID 추가에 성공했지만 여전히 푸시가 되지 않고 동일한 오류가 발생했습니다.새 키를 생성하는 것은 AWS의 다른 매우 안전한 권한과 연결되어 있기 때문에 저에게는 좋지 않은 생각이었습니다.

키와 제 Github 프로필 사이의 연결이 끊어진 것으로 밝혀졌습니다.

해결책 : 프로파일 > 설정 > SSH 및 GPG 키에서 키를 Github에 다시 추가하면 문제가 해결되었습니다.

또한: 제 계정에는 2단계 인증이 설정되어 있었습니다.이 경우 터미널에서 자격 증명을 요청할 경우 Github 암호가 아닌 사용자 이름을 사용합니다.2단계 인증을 위해서는 인증 코드를 사용해야 합니다(나의 경우, 이것은 내 전화기에서 Authy에 의해 생성되었으며, pw를 위해 터미널에 복사해야 했습니다).

Linux 또는 Windows를 사용하는 경우 키를 입력할 터미널 또는 cmdin 디렉토리를 엽니다.개인 키-공개 키 쌍 만들기

 $ ssh-keygen -t ed25519 -C "your_email@example.com"

Ed25519 알고리즘을 지원하지 않는 레거시 시스템을 사용하는 경우 다음을 사용합니다.

 $ ssh-keygen -t rsa -b 4096 -C "your_email@example.com"

공용/개인 알고리즘 키 쌍을 생성하는 중입니다.키를 저장할 파일을 입력합니다(/c/Users/YOU/.ssh/id_ALGORITH). [개인 공용 키 파일로 사용할 이름을 입력합니다.]

암호 입력(암호 구문 없음의 경우 비어 있음):[암호 구문을 입력하거나 암호 구문 없이 입력]

동일한 암호를 다시 입력합니다. [암호를 입력하거나 암호 없이 입력]

이제 Linux에서

$ sudo cp <filename without .pub ending>  ~/.ssh

에서는 이 filename .만 하면 .C:\Users\your_username\.ssh

그리고 나서.

$ ssh-add ~/.ssh/<filename without .pub ending>

지금은 효과가 있을지도 몰라요!

오랫동안 고심한 끝에 마침내 Windows에서 이 문제를 해결할 수 있었습니다. 저에게 사용자 환경 변수 GIT_SSH는 다음을 가리키도록 설정되었습니다.

"C:\프로그램 파일(x86)\"WinScp\PuTTY\plink.exe"

WinScp와 함께 설치되었습니다.git-scm "C:"와 함께 제공되는 기본 ssh.exe를 사용하도록 포인팅을 변경했습니다.\Program Files\Git\usr\bin\ssh.exe"

비트 버킷에 대한 단계:

를 생성하지 않으려면 SKIP ssh-keygen

ssh-keygen -t rsa 

공개 키를 클립보드에 복사합니다.

clip < ~/.ssh/id_rsa.pub

비트 버킷에 로그인: 프로필 보기로 이동 -> 설정 -> SSH 키(보안 탭에서) 키 추가를 클릭하고, 상자에 키를 붙여넣고, 설명 제목을 추가합니다.

Git Bash로 돌아가기:

ssh-add -l

다음과 같은 메시지가 표시됩니다.

2048 SHA256:5zabdekjjjaalajafjLIa3Gl/k832A /c/Users/username/.ssh/id_rsa (RSA)

이제:git pull효과가 있어야 합니다.

이것은 저에게도 효과가 있었습니다: chmod 700.ssh chmod 600.ssh/id_rsachmod 644.ssh/id_rsa.pub

그런 다음 ssh-add ~/.ssh/id_rsa를 입력합니다.

때때로 확인하는 것이 유용할 수 있습니다.~/.ssh/config

이렇게 보여야 합니다.

Host github.com
 IdentityFile ~/.ssh/id_rsa

id_rsa다른 키를 연결한 경우 다를 수 있습니다.

언급URL : https://stackoverflow.com/questions/26505980/github-permission-denied-ssh-add-agent-has-no-identities

반응형