programing

heroku 코드를 배포할 때 사용 권한이 거부되었습니다(공개 키).치명적: 리모트엔드가 예기치 않게 절단되었습니다.

newsource 2023. 4. 10. 21:59

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 있었다.HOMESSH를 사용합니다.

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디렉토리내의 할 수 )는,합니다.

  1. UNIX 환경변수를 영속적으로 설정하는 방법에 대한 답변

  2. 잘못된 디렉토리에서 키를 찾는 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에서 다운타임이 발생하면 푸시하려고 하면 이 오류가 발생합니다.

확인:

https://status.heroku.com/

겁에 질리기 전에 말이야

따라야 할 순서

$ heroku login
$ ssh-keygen -t rsa
$ heroku keys:add

두 번째 문을 실행할 때 입력을 요구할 수 있습니다.Enter(return)를 세 번 누르면 키가 추가됩니다.

위의 답변은 효과가 있지만, 작동하기 전에 몇 가지 추가 단계를 수행해야 한다는 것을 알게 되었습니다.

  1. 이 가이드를 사용하여 모든 id_rsa* 파일을 삭제하고 새로운 SSH를 생성했습니다.
  2. 그리고 나는 헤로쿠 앱을 파괴했다.~/.heroku/credentials 파일을 삭제.
  3. 'heroku create' 명령어(자격 증명 파일이 제거되었으므로 이메일/비밀번호를 입력하라는 메시지가 표시됩니다).
  4. 마지막으로 'heroku keys:add'를 입력하면 기본 ~/.ssh/id_rsa.pub 파일이 업로드됩니다.
  5. 됐다!음...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 입니다.
  • " " 。~/.ssh0700입니다.

나는 해야만 했다:

$ 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 키가 선택되었습니다.이 문제를 해결하기 위해 제가 수행한 단계는 다음과 같습니다.

  1. "Document and Settings" 폴더의 .ssh 디렉토리로 이동하여 git 허브 키를 삭제했습니다.
  2. 명령어 heroku 키 실행: 추가

위의 명령에서 새 키를 생성하도록 요청받았고 다음 출력이 기존 공개 키를 찾을 수 없습니다.생성하시겠습니까?[Yn] 새로운 SSH 공용 키를 생성하고 있습니다.SSH 공용 키 C:/Documents and Settings/Admin/.ssh/id_rsa.pub 업로드 중...완료! 'heroku' 보석은 폐지되어 Heroku 툴벨트로 대체되었습니다.https://toolbelt.heroku.com 에서 다운로드하여 설치합니다.

  1. 명령어 heroku 키 재실행: 추가

위의 명령어에서는 기존 공개키를 찾았습니다.C : / Documents and Settings / Admin / . ssh / id _ rsa . pub Uploading SSH 공개키 C : / Documents and Settings / Admin / . ssh / id _ rsa . pub ...다 했어요.

  1. 이제 git push heroku 마스터를 사용합니다.

위의 단계를 사용하여 문제를 해결하고 애플리케이션을 클라우드에 도입할 수 있었습니다.

같은 문제가 발생하고 있었습니다.다음 절차를 따르면 도움이 됩니다.

  1. 먼저 로그인 : heroku login
  2. 모든 키 지우기: heroku 키: 지우기
  3. 폴더의 삭제( " " " " " " " " ).pub 및 "파일"know_host의 in ) ) 。.ssh/ folder
  4. 다시 로그인 : 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