Mac Snow Leopard를 사용 중이고 방금 설치했습니다. git
.
나는 방금 시도했다
git clone git@thechaw.com:cakebook.git
그러나 그것은 나 에게이 오류를 준다 :
Initialized empty Git repository in `/Users/username/Documents/cakebook/.git/`
Permission denied (publickey).
fatal: The remote end hung up unexpectedly
내가 무엇을 놓치고 있습니까?
또한 ssh-keygen
통과 단계는 없지만 여전히 동일한 오류로 시도했습니다 .
답변
사용자가 이전에 ssh 공개 / 개인 키 쌍을 생성하지 않은 경우
이 정보는 The Chaw에서 작동하지만 SSH pubkey 인증을 지원하는 다른 모든 git 저장소에 적용될 수 있습니다. ( 예를 들어 gitolite , gitlab 또는 github 참조 )
먼저 자신의 공개 / 개인 키 쌍을 설정하여 시작하십시오. 이것은 DSA 또는 RSA를 사용할 수 있으므로 기본적으로 설정 한 모든 키가 작동합니다. 대부분의 시스템에서 ssh-keygen을 사용할 수 있습니다.
- 먼저 .ssh 디렉토리에 cd하고 싶을 것입니다. 터미널을 열고 다음을 실행하십시오.
cd ~/.ssh && ssh-keygen
- 다음으로 클립 보드에 복사해야합니다.
- OS X에서 다음을 실행하십시오.
cat id_rsa.pub | pbcopy
- Linux에서 다음을 실행하십시오.
cat id_rsa.pub | xclip
- Cygwin / Git Bash를 통해 Windows에서 다음을 실행하십시오.
cat id_rsa.pub | clip
- 웹 사이트를 통해 계정에 키를 추가하십시오.
- 마지막으로 .gitconfig를 설정하십시오.
git config --global user.name "bob"
git config --global user.email bob@...
(구성이 다시로드되도록 명령 줄을 다시 시작하는 것을 잊지 마십시오)복제하고 체크 아웃하는 것이 좋을 것입니다.
자세한 내용은 https://help.github.com/articles/generating-ssh-keys(@Lee Whitney 덕분에) 에서 확인할 수 있습니다.
사용자가 이전에 ssh 공개 / 개인 키 쌍을 생성 한 경우
- github 또는 gitlab 계정 설정에서 인증 된 키 확인
- 로컬 컴퓨터에서 어떤 관련 개인 키를 연결해야하는지 결정
eval $(ssh-agent -s)
- 키 위치를 정의
ssh-add ~/.ssh/id_rsa
답변
다음을 통해보다 광범위한 문제 해결 및 자동 수정을 수행 할 수 있습니다.
ssh -vT git@github.com
출처 : https://help.github.com/articles/error-permission-denied-publickey/
답변
이 오류는 Git 읽기 전용 URL 대신 SSH URL (읽기 / 쓰기)에 액세스하지만 해당 리포지토리에 대한 쓰기 액세스 권한이없는 경우 발생할 수 있습니다.
때로는 서버에 배포하는 등 자신의 리포지토리를 복제하려는 경우가 있습니다. 이 경우 실제로는 읽기 전용 액세스 만 필요합니다. 그러나 이것이 자신의 저장소이므로 GitHub는 원하는 경우 SSH URL을 표시 할 수 있습니다. 이 상황에서 원격 호스트의 공개 키가 GitHub SSH 키에 없으면 액세스가 거부 되어 예상되는대로 있습니다.
SSH URL로 쓰기 권한이없는 다른 사람의 저장소를 복제하려고 할 때도 마찬가지입니다.
즉, 리포지토리를 복제 전용으로 사용하려는 경우https://github.com/{user_name}/{project_name}.git
SSH 키 ( ) 대신 HTTPS URL ( )을 사용 git@github.com:{user_name}/{project_name}.git
하면 불필요한 (필수) 공개 키 유효성 검사를 피할 수 있습니다.
업데이트 : GitHub가 HTTPS를 기본 프로토콜로 표시하고 있으며 이로 인해 SSH URL의 오용 가능성을 줄일 수 있습니다.
답변
github 도움말 링크 는이 문제를 해결하는 데 도움이되었습니다. ssh 키가 ssh-agent에 추가되지 않은 것 같습니다. 이것이 내가 결국 한 일입니다.
명령 1 :
ssh-agent가 사용 가능한지 확인하십시오. 이 명령은 백그라운드에서 ssh-agent를 시작합니다.
eval "$(ssh-agent -s)"
명령 2 :
SSH 키를 ssh-agent에 추가하십시오.
ssh-add ~/.ssh/id_rsa
답변
같은 오류 보고서가 있습니다.
대신 HTTP를 사용하여 수정했습니다. 테스트 PC에 “SSH 키”를 설정하고 싶지 않기 때문에.
복제시 URL을 HTTP로 변경하십시오.
git clone https://github.com/USERNAME/REPOSITORY.git
내 문제는 조금 다릅니다 . 기존 로컬 저장소를 원격에 추가 할 때 URL을 설정했습니다.
git remote add origin ssh://github.com/USERNAME/REPOSITORY.git
수정하려면 URL을 HTTP로 재설정하십시오.
git remote set-url origin https://github.com/USERNAME/REPOSITORY.git
BTW, 당신은 명령을 사용하여 URL을 확인할 수 있습니다 :
git remote -v
origin https://github.com/USERNAME/REPOSITORY.git (fetch)
origin https://github.com/USERNAME/REPOSITORY.git (push)
이것이 나와 같은 사람을 도울 수 있기를 바랍니다. :디
답변
이것은 나를 위해 작동합니다 :
ssh-add ~/.ssh/id_rsa
답변
(적어도 일부 프로젝트의 경우) ssh 키가있는 github 계정이 있어야합니다 .
인증 에이전트 ( ssh-add -l )에 나열된 키를
확인하십시오 (표시되지 않는 경우 ssh-add / path / to / your / key를 사용하여 기존 키 중 하나를 추가하십시오 (예 : ssh-add ~ /.ssh/id_rsa ))
(키가없는 경우 먼저 키를 만듭니다. http://rcsg-gsir.imsb-dsgi.nrc-cnrc.gc.ca/documents/internet/node31.html을 참조하십시오. 또는 그냥 구글 ssh-keygen)
github 계정과 연결된 키가 있는지 확인하려면 :
https://github.com/settings/ssh로 이동 하십시오.
1 분 전에 ssh-add -l 을 입력했을 때 본 해시 중 하나와 일치하는 해시 키가있는 하나 이상의 키가 표시됩니다 .
그렇지 않은 경우 추가 한 후 다시 시도하십시오.