GitHub : 권한이 거부되었습니다 (공개 키). 치명적인 : 원격 끝이 예기치 않게 끊어졌습니다.


197

아래 지침에 따라 프로젝트를 업로드했습니다.

전역 설정 :

 Download and install Git
  git config --global user.name "Your Name"
  git config --global user.email tirenga@gmail.com
  Add your public key


Next steps:

  mkdir tirengarfio
  cd tirengarfio
  git init
  touch README
  git add README
  git commit -m 'first commit'
  git remote add origin git@github.com:tirenga/tirenga.git
  git push origin master

하지만이 오류가 발생합니다.

권한이 거부되었습니다 (공개 키). 치명적인 : 원격 끝이 예기치 않게 끊어졌습니다.

답변:


24

나에게 문제는 sudo를 통한 복제 실행이었습니다.

사용자 권한이있는 디렉토리 (/ home / user / git)에 복제하면 제대로 작동합니다.

(설명 : 수퍼 유저로 명령을 실행하면 사용자와 명령을 실행하는 것과 동일한 공개 키를 사용할 수 없으므로 Github가 연결을 거부했습니다.)

이 솔루션을 사용하려면 SSH 키가 이미 설정되어 있어야합니다. https://help.github.com/articles/generating-ssh-keys


1
이 솔루션은 이미 learner_19에 의해 게시 된 것에 매우 가까운 것 같습니다
Erik

125

공개 키를 github에 추가해야했습니다. https://help.github.com/articles/generating-ssh-keys


3
Linux 시스템을 실행중인 경우 emacs 또는 nano를 사용하는 경우 id_rsa.pub 파일의 내용을 복사하기 어려울 수 있습니다. 텍스트 편집기를 사용하여 복사 해보십시오 (메모장, 텍스트 편집기 또는 gedit는 정상적으로 작동합니다). 이 중 하나라도 없다면 vim을 사용할 수 있습니다.
Gokul NK

4
@GokulNK 다른 대안은 페이지에서 권장하는대로 xclip을 사용하는 것입니다.
w4etwetewtwet 2016 년

7
cat ~/.ssh/id_rsa.pub옵션이 될 수 있습니까? : p
torr

당신이 사용할 수있는 pbcopy < ~/.ssh/id_rsa.pubOS X에서 다음 (붙여 cmd+vGitHub의 페이지에서).
user3648895

28

예, 공개 키 문제입니다. 저는 Windows 사용자이며 아래 페이지에서이 문제를 해결하는 데 도움이됩니다.

http://help.github.com/win-set-up-git/

보다 정확하게이 링크는 도움이 될 것입니다

https://help.github.com/articles/error-permission-denied-publickey


57
이것이 이론적으로 질문에 대답 할 수 있지만 여기에 답의 핵심 부분을 포함시키고 참조 할 수있는 링크를 제공하는 것이 바람직 합니다.
Lix

28

RSA 키 페어를 생성 한 후에는 다음을 사용하여 SSH에 추가해야합니다.

ssh-add ~/.ssh/id_rsa

또는 어디에서 rsa 키 페어를 만들 었는지.


생명의 은인! 당신은 머리에 못을 쳤다. 감사합니다
Tash Pemhiwa

합의에 따라 먼저 ssh-agent가 실행 중인지 (GitHub의 설명서에 나와 있음) 키가 키 링에 추가되었는지 여부를 확인하는 것이 중요합니다. ssh-agent의 키 링에 있어도 키가 사용되지 못하게 할 수 있기 때문에 확인할 가치가있는 것은 개인 키에 대한 올바른 액세스 모드입니다 chmod 600 ~/.ssh/id_rsa. 기본적으로 0600 ()이어야합니다 .
chikamichi

18

사용자 이름 및 저장소 이름을 사용하여 다음 명령을 입력하십시오.

git clone https://github.com/{user name}/{repo name}

우분투에서 이것은 완벽하게 작동합니다.


보안 연결을 위해서는 https 프로토콜이 필요하다고 생각합니다. 이것이 작동하는 이유입니다. Git @ github ..는 기계에 안전하지 않습니다.
Timo

16

튜토리얼에서 오랜 시간 후에 해결책을 얻었습니다.

이 링크-> https://help.github.com/articles/error-permission-denied-publickey 에서 github 튜토리얼을 따라 모든 단계에서 연결할 수있었습니다. 그러나 push -u origin mastergit 하려고 할 때이 오류가 발생했습니다.

권한이 거부되었습니다 (공개 키). 치명적 : 원격 저장소에서 읽을 수 없습니다.

올바른 액세스 권한이 있는지 확인하십시오

그게 내가 고쳤어 !! 터미널을 사용하여 프로젝트 디렉토리로 이동하여 확인하십시오.

$git remote -v

다음과 같은 것을 얻을 것입니다 :

origin  ssh://git@github.com/yourGithubUserName/yourRepo.git (fetch)
origin  ssh://git@github.com/yourGithubUserName/yourRepo.git (push)

git@github.com 과 다른 것을 사용하는 경우 다음 명령을 입력하여 git 디렉토리에서 구성 파일을여십시오.

vi .git/config

그리고 라인을 구성

[remote "origin"]

url = ssh://git@github.com/yourGithubUserName/yourRepo.git

fetch = +refs/heads/*:refs/remotes/origin/

나를 위해 실제로 그것은 git@github.com을 <myusername> @ github.com으로 대체함으로써 효과적이었습니다.
Eduard Feicho

"git remote -v"명령은 이전에 본 것이 아니며, 내 repos 중 하나가 작동 한 이유를 이해하는 데 핵심적인 것으로 밝혀졌으며, 다른 하나는 "Permission denied (publickey)"를 반환했습니다. "git ls-remote"를 실행하려고했습니다. 굉장히 유용하다. 감사.
Kevin

6

필자의 경우 이미 기본 사용자를 위해 공개 키를 가지고 있었으므로 다른 사용자의 공개 키를 설정해야했습니다. 일단 사용자를 전환하고 위의 링크에서 명령을 수행하면 문제없이 테스트 서버에 대한 설정을 수행 할 수있었습니다.


비슷한 문제-SSH로 설정 한 실제 사용자가 아닌 루트로 로그인했습니다. 무엇이든 할 수있는 커밋을 얻을 수 없습니다. 올바른 사용자로 다시 변경하면 문제가 해결되었습니다!
Richard Hollis

1
실제로 수정을 수행하는 방법에 대한 설명이 부족합니다.
Richard

철자를 쓰지 않아도됩니다. 이것은 당신을위한 리차드입니다! 루트가 아닌 계정을 사용하고있었습니다. github help url ( help.github.com/articles/generating-ssh-keys#platform-linux )에서 sudo 접두사 를 사용하여 명령을 수행해야했습니다 .
Dan Power

5

나는이 문제가 있었지만 위의 해결책 중 어느 것도 효과가 없었다. 복제하고 가져올 수는 있지만 밀어 넣을 수는 없습니다. 결국, 나는 문제가 있었다 파악 url내에서 .git/config, 그것은해야한다 :

git@github.com:<username>/<project>

ssh://github.com/<username>/<project>.git또는 아닙니다 https://github.com/<username>/<project>.git.


2
SSH 연결의 경우 그 git@부분이 마법입니다. 그래서 ssh://git@github.com/username/project.git도 작동합니다.
감독

.git은 정말 중요합니다. 이 솔루션은 완벽하게 작동합니다.
Onur Göker

5

여기에 대한 답변 중 어느 것도 나를 위해 일하지 않았다는 것을 감안할 때 마침내 ssh -vT git@bitbucket.org를 사용하여 Bitbucket (또는이 경우 Github에 중요하지 않음)에 연결하는 문제를 추적했습니다.

필자의 경우 실패는 RSA 대신 DSA 키를 사용했기 때문에 발생했으며 SSH 클라이언트가 더 이상 허용하지 않는 것 같습니다.

debug1 : PubkeyAcceptedKeyTypes가 아닌 경우 ssh-dss 키 /c/Users/USER/.ssh/id_dsa를 건너 뜁니다.

해결책은 이것을 .ssh / config에 추가하는 것입니다.

Host *
    PubkeyAcceptedKeyTypes +ssh-dss

이것은 ssh-dss 키 유형을 기존의 모든 허용 된 공개 키 유형에 우아하게 추가하며,이 작업이 완료된 후 git은 이제 Bitbucket으로 ssh 할 수 있습니다.


2015 년 12 월에 데비안 불안정한 시스템에서이 솔루션을 사용했습니다. 이미 ID를 강제로 입력 할 항목이 있으므로 "Host bitbucket.org"로 제한했습니다.
bitmusher

3

내 문제는 Mac 터미널에 입력 할 때마다 ssh 키에 특정 이름 을 지정하려고한다는 것 ssh-keygen입니다.

"ssh-keygen"이 생성하는 이름을 =로 남겨 두어 문제를 해결했습니다 id_rsa. Mac의 .ssh 폴더에 id_rsa개인 키인 .ssh 폴더 와 id_rsa.pub공개 키인. 그런 다음 코드를 복사하여 id_rsa.pubGitHub 계정 설정에 저장 했습니다. 문제 해결됨.


저도 마찬가지입니다. 이름을 비워두면 문제가 해결되었습니다. 감사.
Berk

넌 내 하루를 했어! 특정 키 이름으로 인해 콘솔에서 2 주! 감사!
eilas

도움이되어 다행입니다! @eilas
paopao

대부분의 시스템에서 기본 개인 키 (때문에이 작품 이유는 ~/.ssh/id_rsa, ~/.ssh/id_dsa~/.ssh/identity) 자동으로 SSH 인증 에이전트에 추가됩니다.
마포


2

공개 키를 추가하는 것이 해결책입니다. ssh 키를 생성 하려면 https://help.github.com/articles/generating-ssh-keys 에 단계별 지침이 있습니다.

그러나 키가 올바른 방식으로 생성되지 않으면 문제가 지속될 수 있습니다. 나는 이것이 유용한 링크라는 것을 알았다 : https://help.github.com/articles/error-permission-denied-publickey

필자의 경우 문제는 sudo를 사용하지 않고 ssh 키를 생성했지만 git 명령을 사용할 때 sudo를 사용해야한다는 것입니다. 위 링크에있는이 주석은 "sudo없이 SSH 키를 생성하면 sudo git push와 같은 명령을 사용하려고하면 생성 한 SSH 키를 사용하지 않습니다." 나를 도와 주었다.

따라서 해결책은 키 생성 명령과 git 명령 모두에 sudo를 사용해야한다는 것입니다. 또는 다른 사람들이 어디에서라도 sudo가 필요하지 않은 경우 두 단계 중 어느 것도 사용하지 마십시오. (키 생성 및 자식 명령).


1

Windows에서 SSH 또는 Git Clone을 실행할 때 비슷한 문제가 발생했습니다. 다음 결과는 내 문제를 해결하는 데 도움이됩니다.

  • "rhc setup"또는 다른 ssh 메소드를 실행하여 ssh 키를 생성하면 홈 폴더의 .ssh 폴더에 개인 키 파일 id_rsa가 작성됩니다. 기본값은 C : \ User \ UserID입니다.
  • Windows 용 Git은 설치 디렉토리에 자체 .ssh 폴더가 있습니다. git / ssh를 실행하면이 폴더에서 개인 키 파일 id_rsa를 찾습니다.
  • 홈 폴더 .ssh 폴더에서 git 설치 디렉토리의 .ssh 폴더로 id_rsa를 복사하여 문제를 해결했습니다.

또한 홈 폴더에서 기본 .ssh 폴더를 사용하기 위해 git을 "알아내는 방법"이 있지만 여전히 방법을 알아 내야한다고 생각합니다.


1

나를 위해 다음과 같이 작동했습니다.

GitHub에서 ssh링크를로 변경 https하고 다음 명령을 내 렸습니다.

$ git init
$ git remote add origin https:...
$ git add .
$ git commit -m "first commit"
$ git push origin master

0

Windows 스토어에서 우분투 사용

리눅스 용 윈도우 서브 시스템

, git push는 다른 계정에서 작동합니다.


0

리눅스 머신을 사용하고 있다면,

  • Openssh가 설치되어 있습니까?
  • 그렇다면 기존 공개 키가 있습니까? 그렇지 않으면 공개 키를 생성해야합니다.
  • 공개 키는 github 계정에 추가됩니다.

새로운 SSH 키를 생성하고 Github 계정에 추가하면 문제가 해결되었습니다. 자세한 내용은이 페이지를 참조하십시오. GitHelp .


0

유형 연결을 ssh에서 https로 변경해 볼 수 있습니다.

  1. nano project_path/.git/config
  2. 교체 git@github.com:username/repository.githttps://username@github.com/username/repository_name.git
  3. 파일 저장 ctrl+o

그 후에는 공개 키 git pull없이 시도 할 수 있습니다



-1

Mac을 사용하는 경우이 문제를 해결하는 빠른 방법은 OSX 앱에서 로그 아웃 한 후 다시 로그인하는 것입니다.


-1

내 문제는 개인 키의 암호로 작동하지 않는다는 것입니다.

누군가에게 도움이되기를 바랍니다.



-3

언급 된 솔루션을 시도했지만 여전히 실패했습니다. 드디어 나를 위해 일한 해결책 발견 여기에 원격 연결을 다시 추가 한 후 제거를 -


-4

나는 창문에서 같은 문제가있었습니다. SSH에서 HTTPS로 전환하고 Git PUSH를 실행했습니다.

git push -u origin master
Username for 'https://github.com': <Github login email>
Password for <Github login>: xxx

성공한! 도움이 되었기를 바랍니다.


이 문제를 해결할 수는 있지만 초기 문제는 해결되지 않습니다.
마포
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.