2012-11-13 1 views
6

이전에 Heroku에 여러 번 업로드되었는데 이번에 무엇이 잘못된 것인지 알 수 없습니다. 공개 인터넷을 사용하고 있기 때문일 수 있습니다. 내가 Heroku가에 밀어 수없는 이유Heroku - SSH 공개 키를 추가했지만 여전히 Permission denied (publickey) 오류가 발생했습니다

어쨌든, 그래서 나는

>heroku keys:add 
Found existing public key: C:/Users/Chris/.ssh/id_rsa.pub 
Uploading SSH public key C:/Users/Chris/.ssh/id_rsa.pub...done 

>git push heroku master 
Permission denied (publickey). 
fatal: The remote end hung up unexpectedly 

으로 새 공개 키를 추가?

나는 내 키

Heroku가 키

를 확인하고 작업을해야한다, 그래서 내 터미널, 올바르게했다. 누군가가 약간의 빛을 발산합니까?

+1

'heroku apps'을 실행하여 앱이 있는지 확인하십시오. –

답변

4

아마 SSH 세션은 %HOME%C:/Users/Chris에 정의되어 있지 않은 경우 발생할 수있는 공개 키에 관련된 개인 키를 어디서 찾을 수 있는지 알 수 없습니다.
당신이 할 수있는

(기억, HOME은 윈도우에서 기본적으로 정의되지 않은) :

  • 확인 홈페이지가
  • %HOME%/.ssh/config 파일을 정의 설정되어 있는지 확인
 
Host heroku 
Hostname heroku.com 
Port 22 
IdentitiesOnly yes 
IdentityFile /C/Users/Chris/.ssh/id_rsa # location and name of your private key 
TCPKeepAlive yes 
User git 
  • bash 세션에서 check the permissions (for .ssh 및 키).
  • heroku 레포를 복제하십시오 : git clone heroku:yourRepo
  • 일부 커밋을 만들고 거기서 푸시하십시오.
+0

은 시간에 제약을 받았으며 기계를 전환했습니다. 곧이 기계로 다시 길을 가고 나서 해결책을 찾으려 할 것입니다. 도와 주셔서 감사합니다! –

2

변경 사항을 적용하려면 Git을 사용하고, Heroku는 SSH를 사용합니다.

제 경험상 heroku keys을 실행하면 SSH 인증 에이전트에로드 된 ID에 대한 정보가 제공되지 않습니다. 이를 위해서는 ssh-add -l을 실행해야합니다. 그러면 모든 신분의 지문이로드됩니다.

SSH 인증 에이전트에 ID 하나를로드하려면 ssh-add -K ~/.ssh/your_private_key을 실행해야합니다. -K을 사용하면 키 체인에 암호 문구가 저장됩니다.

물론 원격지 Heroku 서버에 공개 키가있는 경우에도 작동합니다.

관련 문제