git push heroku master Permission denied (publickey). 치명적 : 원격 끝이 예기치 않게 끊김
약간의 좌절을 용서해주세요. Heroku는 SO를 고객 지원으로 사용하고 있기 때문에 계속 확인하려고 노력할 것입니다.
지난 5 시간 동안 애플리케이션을 게시하려고 시도했지만 항상 키에 문제가 발생했습니다. 나는 수십 개의 기사를 읽었으며 어리 석고 완전히 불투명 한 과정에서 Heroku가 망가진 곳을 파악하기 위해 팁을 하나씩 시도했습니다.
내 사용 사례는 그리 어렵지 않습니다. heroku 앱에 대한 새 키 쌍을 만들었습니다. 해당 키를 내 키로 설정했습니다.
> heroku keys
=== travis@xxxx.com Keys
ssh-rsa AAAAB3NzaC...avOqfA7ZBd travis@xxxx.com
로그인하여 문제없이 응용 프로그램 (어떤 종류의 응용 프로그램이 아닌 git repo를 만드는 것처럼 보이기 때문에 어리석은 이름)을 "만들"수 있습니다. 하지만 * 괴롭히는 * 때 마다 앱을 푸시하려고하면 다음과 같은 결과가 나타납니다.
> git push heroku master
Permission denied (publickey).
fatal: The remote end hung up unexpectedly
나는 WTF가 진행되고있는 것에 대한 통찰력이 없습니다. 나는 의지없이 키보드에 머리를 부딪 히고 있지만 Google의 전능 한 신이 대답 할 수 있기를 바랍니다. 그리고 구글은 그것에 대답하지 않습니다 (글쎄요, 제가 그것을 되 찾을 게요, 저는 이것을 대답하는 12 가지 방법을 보았습니다).
쉬운 시스템의 경우 이것은 농담입니다. 나는 Heroku의 아이디어가 마음에 들지만, 5 명을 택한 후에는 아무 일도하지 않고 , 아마도 잘못된 선택이라고 생각합니다.
웹에는 다양한 솔루션이 있습니다. 사용 가능한 옵션을 하나의 게시물로 압축하려고합니다. 매 단계 후에 다시 연결을 시도하십시오.
1 단계 : Heroku에 공개 키 추가 시도
heroku keys:add ~/.ssh/id_rsa.pub // or just heroku keys:add and it will prompt you to pick one of your keys
2 단계 : 새 SSH 키 세트를 생성 한 다음 첫 번째 단계를 다시 시도합니다.
3 단계 : 구성 파일 확인 및 / 또는 수정
vim ~/.ssh/config Host heroku.com Hostname heroku.com Port 22 IdentitiesOnly yes IdentityFile ~/.ssh/id_rsa <--- Should be your public SSH key TCPKeepAlive yes User jsmith@gmail.com
4 단계 : git에서 heroku 원격을 제거하고 연결을 다시 만들고 heroku create를 통해 원격을 추가하는 것은 새 저장소의 옵션 일뿐입니다. 원래 만들려고 시도한 이전 저장소를 삭제해야합니다.
$ git remote rm heroku $ heroku create
5 단계 : Heroku Toolkit 재설치
heroku 키와 github 키가 동기화되지 않았습니다.
사용할 키를 결정합니다 (예 : heroku_rsa와 같은 새 키를 만드는 것이 좋습니다).
github에 키를 추가하십시오.
다음을 사용하여 heroku에 동일한 키를 추가하십시오 .
heroku keys:add
나는 같은 문제에 직면했고 이것이 무슨 일이 일어나고 있는지에 대한 나의 이론 입니다.
오래 전에 Heroku에 가입하여 github 공개 키를 제공했습니다. 평소를 시도하면 git push heroku master
에서 찾은 개인 키를 찾습니다 ~/.ssh/github_rsa
. 그런 다음 게시 한 메시지와 함께 자동으로 실패합니다.
그러나 나중에 플래그를 ssh
사용하여 -i
"신원 파일"(즉, 개인 키)을 지정 하는 다른 서버에 접속 하려고 시도했으며 개인 키에 대한 암호를 입력하라는 메시지가 표시되었습니다. 개인 키를 "잠금 해제"하면 git push heroku master
명령이 작동합니다. 몇 가지 결론 :
ssh
ID 파일에 대한 암호를 묻는 메시지가 표시 되지만git
그렇지 않습니다.- 같은 다른 방법으로 ID 파일을 잠금 해제하면 사용을
ssh
위해 잠금 해제 된 상태로 유지됩니다git
. - 일반적인 unix 명령을 포함하여 ID 파일에서 암호 보호를 영구적으로 제거하는 방법에 대한 문서 가없는 것 같습니다
keytool
. - 새 공개 / 개인 키 쌍을 생성하는 위의 솔루션은 이것이 문제라는 사실을 모르고이 암호 문제에 대한 해결 방법 인 것 같습니다.
heroku 코드를 배포 할 때 권한이 거부되었습니다 (공개 키). 치명적 : 원격 끝이 예기치 않게 끊김
나는 이것이 당신의 해결책을 가지고 있다고 생각합니다.
저에게 문제는 ssh-agent가 백그라운드에서 실행되고 관련 개인 키가 추가되지 않은 것 같습니다.
ps -afe | grep ssh-agent
ssh-add ~/.ssh/id_rsa_heroku_github
또한 github (수동) 및 heroku에 공개 키를 추가해야했습니다.
heroku keys:add ~/.ssh/id_rsa_heroku_github.pub
If none of the other solutions work for you, be sure that you are logged in linux shell with your account and not with root account.
That way, if you are running with the user that is not the owner of your ssh keys, git will look for the wrong keys to authenticate
'code' 카테고리의 다른 글
jQuery를 사용하여 DIV에서 높이 스타일을 제거하려면 어떻게해야합니까? (0) | 2020.09.16 |
---|---|
첫 번째 자식으로 요소를 삽입하는 방법은 무엇입니까? (0) | 2020.09.16 |
VMware Workstation 및 Device / Credential Guard는 호환되지 않습니다. (0) | 2020.09.16 |
Django의 한 앱에서 다른 앱으로의 외래 키 (0) | 2020.09.16 |
여러 프로세스가 청취 소켓을 공유하는 방법이 있습니까? (0) | 2020.09.16 |