heroku 코드를 배포할 때 사용 권한이 거부되었습니다(공개 키).치명적: 리모트엔드가 예기치 않게 절단되었습니다.
다음 명령줄을 사용하여 헤로쿠에 코드를 배포하려고 합니다.
git push heroku master
단, 다음 오류가 발생합니다.
Permission denied (publickey).
fatal: The remote end hung up unexpectedly
공개 SSH 키는 이미 업로드 되어 있습니다만, 아직 이 에러가 발생하고 있습니다.
공용 키를 Heroku에 업로드해야 합니다.
heroku keys:add ~/.ssh/id_rsa.pub
공용 키가 없는 경우, Heroku는 자동으로 키를 추가하도록 안내합니다.사용방법:
heroku keys:add
이전 키를 모두 지우려면 다음 절차를 수행합니다.
heroku keys:clear
기존 키를 모두 표시하려면 다음 절차를 수행합니다.
heroku keys
편집:
을 사용하다내가 the the the the the the 있었다.HOME
SSH를 사용합니다.
SSH가 올바른 디렉토리내의 키를 체크하는 것을 확인하려면 , 다음의 순서에 따릅니다.
ssh -vT git@heroku.com
그러면 다음 (샘플) 행이 표시됩니다.
OpenSSH_4.6p1, OpenSSL 0.9.8e 23 Feb 2007
debug1: Connecting to heroku.com [50.19.85.156] port 22.
debug1: Connection established.
debug1: identity file /c/Wrong/Directory/.ssh/identity type -1
debug1: identity file /c/Wrong/Directory/.ssh/id_rsa type -1
debug1: identity file /c/Wrong/Directory/.ssh/id_dsa type -1
debug1: Remote protocol version 2.0, remote software version Twisted
debug1: no match: Twisted
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_4.6
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: kex: server->client aes128-cbc hmac-md5 none
debug1: kex: client->server aes128-cbc hmac-md5 none
debug1: sending SSH2_MSG_KEXDH_INIT
debug1: expecting SSH2_MSG_KEXDH_REPLY
debug1: Host 'heroku.com' is known and matches the RSA host key.
debug1: Found key in /c/Wrong/Directory/.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: 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: /c/Wrong/Directory/.ssh/identity
debug1: Trying private key: /c/Wrong/Directory/.ssh/id_rsa
debug1: Trying private key: /c/Wrong/Directory/.ssh/id_dsa
debug1: No more authentication methods to try.
Permission denied (publickey).
가 ssh에서 을 알 수 ./c/Wrong/Directory/.ssh
(heroku 사용)heroku keys:add ~/.ssh/id_rsa.pub
) (Windows 에서는 OS 는 win 7/8 의 패스를 참조하고 있습니다.
의 홈 하려면 , 다음의 순서를 실행합니다.echo $HOME
★★★★★★★★★★★★★★★★★」echo %HOME%
) ( Windows )
를 HOME
를합니다..ssh
디렉토리내의 할 수 )는,합니다.
저도 같은 문제가 있었습니다.아래의 스텝이 효과가 있었습니다.
->heroku login
abc@gmail.com 및 비밀번호
->cd C:\Users\yourusername\.ssh (OR for cygwin shell ->cd ~/.ssh)
->ssh-keygen -t rsa -f id_rsa
패스프레이즈를 공백으로 사용하지 말 것을 요구하는 경우는 패스프레이즈를 입력합니다.단, 잊지 마십시오.
키를 생성하면 다음과 같이 키를 추가해야 합니다.
$ ssh-add
그리고 그것은 헤로쿠에게
->heroku keys:add "id_rsa.pub"
디렉토리를 워크스페이스로 변경, 다음 중
->git clone git@heroku.com:stark-dawn-1234.git -o heroku
위에서 설정한 패스프레이즈를 사용합니다.
사실 아래 파일도 삭제하지만, 그것이 임팩트인지 아닌지는 잘 모르겠습니다.
C:\Users\yourusername.heroku\credientals 및 C:\Users\yourusername.ssh\known_module
이 문제가 며칠 동안 나를 괴롭혔다.
이게 도움이 될 거야
1) 지금 Heroku에 있는 키를 확인합니다.
$ heroku keys
=== 1 key for joe@example.com
ssh-dss AAAAB8NzaC...DVj3R4Ww== joe@workstation.local
2) ~/.ssh/config 파일을 빌드합니다.
$ sudo vim ~/.ssh/config
이 정보로 편집
Host heroku.com
Hostname heroku.com
Port 22
IdentitiesOnly yes
IdentityFile ~/.ssh/ssh-dss # location and name of your private key
TCPKeepAlive yes
User joe@workstation.local
다음은 ssh 키 관리 방법을 설명하는 링크입니다.https://devcenter.heroku.com/articles/keys#adding-keys-to-heroku
공용 키가 없어서 같은 문제가 발생했기 때문에 다음과 같이 처리했습니다.
heroku keys:clear
heroku keys:add
그러면 공용 키가 생성되고 제대로 작동합니다.
Windows 사용자라면 다른 솔루션으로는 문제를 해결할 수 없습니다.
7 + , 은 Windows 7 64-Bit + Git-1.7.1-preview20111027에서 이었습니다.이치노C:\users\user\.ssh
로로 합니다.C:\Program Files (x86)\Git\.ssh
. 이것은 영웅쿠에 밀어넣을 때 열쇠를 찾고 있습니다.이 git클라이언트는 헤로쿠를 푸시할 때 키를 찾습니다.
이게 도움이 됐으면 좋겠어요.
이것이 저의 해결책이었습니다.
ssh-add ~/.ssh/my_heroku_key_rsa
경험을 공유하기 위해:
Git(내 설치)는 'id_rsa'라는 이름의 키를 찾고 있었습니다.
그래서 키 이름을 'id_rsa'와 'id_rsa.pub'로 바꾸려고 했는데 작동했어요.
그나저나 다른 방법이 있을 것 같은데 아직 자세히 알아보진 못했어요.
키를 이미 업로드한 경우 키를 제거한 후 새 키로 다시 업로드해 보십시오.
heroku keys:remove //removes the existing key
ssh-keygen -t rsa //generates a new key in ~/.ssh folder
heroku keys:add //uploads the new key, if no arguments r passed then the key generated
//in default directroy i.e., ~/.ssh/id_rsa is uploaded
git push heroku
이거면 될 거야
저는 3일 동안 스스로 목숨을 끊었습니다.이것을 작동시키기 위해 가능한 모든 조합을 시도했습니다.드디어 DSA 키를 만들었는데, 효과가 있었습니다.
문제가 있는 경우는, RSA 대신에 DSA 를 사용해 주세요.
(Ubuntu 11.10, 루비 1.8.7, heroku 2.15.1을 사용하고 있습니다.)
Windows 7,64 비트에서는 위의 솔루션(Onur Turhan's)이 아래와 같이 약간 변경되어 기능했습니다.
C:\Users\MyName > heroku login
이메일/비밀번호 입력
C:\Users\MyName >ssh-keygen -t rsa -f id_rsa
이를 통해 c:\Users\MyName 디렉토리(.ssh 디렉토리에는 없음)에 2개의 파일(id_rsa 및 id_rsa.pub)이 생성되었습니다.
heroku keys:add id_rsa.pub
git clone git@heroku.com:some-heiku-xxxx.git -o heroku
올바른 "id_rsa.pub" 파일을 추가하는 것이 가장 중요하다고 생각합니다.keygen을 사용하여 공용 키를 생성한 후 키가 생성되었을 때의 타임스탬프를 보고 올바른 키를 추가하고 있는지 확인합니다.
1개의 명령어가 기능합니다.
heroku keys:add
만약 존재하지 않는다면 그것은 하나를 만들 것이다.
I had this problem when Tortoise거북이가 이 문제를 겪었을 때GIT was installed on my machine.내 기계에 GIT가 설치되어 있었다. After changing the environment variable 환경변수 변경 후GIT_SSH
부에서
"c:\Program Files\TortoiseGit\bin\TortoisePlink.exe"
로.
"c:\Program Files (x86)\Git\bin\ssh.exe"
and following this tutorial with 이 튜토리얼에 따라ssh-keygen
★★★★★★★★★★★★★★★★★」keys:add
, , it works!, 효과가 있습니다!
밀기가 통하더니 갑자기 멈췄어요.
heroku api에서 다운타임이 발생하면 푸시하려고 하면 이 오류가 발생합니다.
확인:
겁에 질리기 전에 말이야
따라야 할 순서
$ heroku login
$ ssh-keygen -t rsa
$ heroku keys:add
두 번째 문을 실행할 때 입력을 요구할 수 있습니다.Enter(return)를 세 번 누르면 키가 추가됩니다.
위의 답변은 효과가 있지만, 작동하기 전에 몇 가지 추가 단계를 수행해야 한다는 것을 알게 되었습니다.
- 이 가이드를 사용하여 모든 id_rsa* 파일을 삭제하고 새로운 SSH를 생성했습니다.
- 그리고 나는 헤로쿠 앱을 파괴했다.~/.heroku/credentials 파일을 삭제.
- 'heroku create' 명령어(자격 증명 파일이 제거되었으므로 이메일/비밀번호를 입력하라는 메시지가 표시됩니다).
- 마지막으로 'heroku keys:add'를 입력하면 기본 ~/.ssh/id_rsa.pub 파일이 업로드됩니다.
- 됐다!음...YMMV 하지만 하루 종일 이걸 알아내려고 애썼기 때문에 정말 도움이 됐으면 좋겠어요!ㅎㅎ
Windows 7에서 위의 모든 것을 시도했지만 여전히 작동하지 않았던 모든 사용자를 위해 제가 한 일은 다음과 같습니다.- Git 디렉토리 C:\Program Files(x86)\Git\에서 GitBash.exe를 엽니다(명령 프롬프트를 열지 마십시오).- 위와 같이 다음을 추가하지만 #는 삭제해야 합니다.
Host heroku.com
Hostname heroku.com
Port 22
IdentitiesOnly yes
IdentityFile ~/.ssh/ssh-dss
TCPKeepAlive yes
User joe@workstation.local
이제 git push heroku master를 실행하면 작동하게 됩니다.
것 같군요.~/.ssh/authorized_keys
파일이 올바르게 설정되어 있지 않습니다.다음 사항을 확인합니다.
- 그것은 올바른 길목에 있다.
- 파일의 권한은 0600 입니다.
- " " 。
~/.ssh
0700입니다.
나는 해야만 했다:
$ ssh-keygen -t rsa
$ heroku keys:add
그리고 효과가 있었습니다.
$ git push heroku master
.ssh Configuration에서 heroku를 확인합니다..ssh 폴더로 이동하여 구성 파일을 엽니다.
cd ~/.ssh
subl config
'subl'은 Sublime Text용이지만 원하는 편집기를 사용할 수 있습니다."Identity File" 행을 찾아 목록에 공개되지 않은 키가 있는지 확인합니다.
IdentityFile "/Users/ircmullaney/.ssh/my_ssh"
것은 아니다.
IdentityFile "/Users/ircmullaney/.ssh/my_ssh.pub"
그걸로 끝이야.내 버전이 왜 컨피규레이션파일에 공개 버전이 포함되어 있는지 알 수 없습니다만, 공개 버전이 되어, 다음의 에러가 발생하고 있었습니다.
Permissions 0644 for '/Users/ircmullaney/.ssh/my_ssh.pub' are too open.
이 모든 아이디어들을 시도해봤지만 여전히 문제가 있었다.이건 내 문제였어
나의 리모트 헤로쿠 저장소가 망가졌다.다음과 같이 갱신했습니다.
git remote -v
그런 다음 잘못된 헤로쿠를 제거합니다.
git remote rm heroku
그리고 새 것을 추가합니다.
git remote add heroku git@heroku.com:sitename.git
앱의 Heroku 설정 페이지에서 sitname을 얻을 수 있습니다.행운을 빕니다.
제가 직면한 문제는 Windows에서 항상 "heroku keys:add"를 실행할 때마다 github 키가 선택되었습니다.이 문제를 해결하기 위해 제가 수행한 단계는 다음과 같습니다.
- "Document and Settings" 폴더의 .ssh 디렉토리로 이동하여 git 허브 키를 삭제했습니다.
- 명령어 heroku 키 실행: 추가
위의 명령에서 새 키를 생성하도록 요청받았고 다음 출력이 기존 공개 키를 찾을 수 없습니다.생성하시겠습니까?[Yn] 새로운 SSH 공용 키를 생성하고 있습니다.SSH 공용 키 C:/Documents and Settings/Admin/.ssh/id_rsa.pub 업로드 중...완료! 'heroku' 보석은 폐지되어 Heroku 툴벨트로 대체되었습니다.https://toolbelt.heroku.com 에서 다운로드하여 설치합니다.
- 명령어 heroku 키 재실행: 추가
위의 명령어에서는 기존 공개키를 찾았습니다.C : / Documents and Settings / Admin / . ssh / id _ rsa . pub Uploading SSH 공개키 C : / Documents and Settings / Admin / . ssh / id _ rsa . pub ...다 했어요.
- 이제 git push heroku 마스터를 사용합니다.
위의 단계를 사용하여 문제를 해결하고 애플리케이션을 클라우드에 도입할 수 있었습니다.
같은 문제가 발생하고 있었습니다.다음 절차를 따르면 도움이 됩니다.
- 먼저 로그인 : heroku login
- 모든 키 지우기: heroku 키: 지우기
- 폴더의 삭제( " " " " " " " " )
.pub
및 "파일"know_host
의 in ) ) 。.ssh/ folder
- 다시 로그인 : heerku login - u는 키 없이 프롬프트가 표시되므로 화면의 지시에 따릅니다.
디렉토리가 반드시 C인 것은 아니라는 것을 덧붙이고 싶습니다.\Users\[username]\.ssh.공용 키를 작성한 디렉토리입니다.
예를 들어 Windows의 홈디렉토리가 C:\[username]로 변경되었습니다..ssh 서브폴더에 있는 홈디렉토리가, 키를 작성했을 가능성이 가장 높은 장소입니다.Windows 의 홈 디렉토리는, 다음의 커맨드로 확인할 수 있습니다.
echo %HOMEPATH%
"sudo"를 사용하는 경우, 예:
sudo git clone git@heroku.com......... -o heroku
루트 사용자의 ssh 키도 생성해야 합니다.
sudo su
cd /root/.ssh
ssh-keygen -t rsa
....
heroku keys:add id_rsa.pub
잘 될 거야
루트 사용자를 사용하지 않는 경우 대신 사용자 디렉토리에 ssh 키를 생성하십시오.
cd /home/user/.ssh
내 문장이 틀렸다면 미안해...
디스크 유틸리티(Mac OS X)에서 권한을 복구해 보십시오.도와주었다
먼저 Mac에 숨겨진 파일이 있는지 확인합니다.그렇지 않은 경우:
- " "를 합니다.
defaults write com.apple.Finder AppleShowAllFiles TRUE
killall Finder
다음 단계:
- ★★★★★★★★★★로 이동
Users/user_name/.ssh/
모든 파일을 삭제. - 「 」의 .
ssh-keygen -t dsa
- 그리고나서
heroku keys:add ~/.ssh/id_dsa.pub
N.B. Mac OSX 10.7.2 Lion에서 실행했습니다.다른 곳에서도 절차는 같아야 하지만요.
저도 이 문제가 있어요.Mac OSX를 사용하고 있습니다.제가 수정한 방법은 admin으로 로그인하는 것입니다.
스도스
패스워드
dmajkic 솔루션이 드디어 도움이 됩니다.
Windows 사용자에게는 git client가 키를 찾을 수 없다는 것을 의미합니다.c:\Users\UserName 키를 확인합니다.ssh\and! 환경변수 HOME=c:\Users\UserName\
여기 나에게 효과가 있었던 것이 있다.heroku 사이트가 알려진 호스트에 추가되지 않았습니다.window-other-show view-git 저장소로 이동합니다.여기서부터 저장소를 복제합니다.복제한 후 방금 만든 리포지토리를 삭제한 다음 파일 메뉴에서 가져옵니다.저장소를 복제할 때 탐색기 보기에 추가되지 않으므로 이 작업을 수행하십시오.이제 git 저장소와 탐색기 보기가 있어야 합니다.
언급URL : https://stackoverflow.com/questions/4269922/permission-denied-publickey-when-deploying-heroku-code-fatal-the-remote-end
'programing' 카테고리의 다른 글
서명 중 오류가 발생했습니다. (0) | 2023.04.10 |
---|---|
문서 폴더의 파일 목록을 가져오는 중 (0) | 2023.04.10 |
2개의 리스트를 요소별로 곱하는 방법은 무엇입니까? (0) | 2023.04.10 |
Panda DataFrame은 다음 문자열로 목록을 저장했습니다.목록으로 다시 변환하는 방법 (0) | 2023.04.10 |
Swift에서 두 날짜(월/일/시간/분/초)의 차이 파악 (0) | 2023.04.10 |