2014-09-04 4 views
2

개인 GitHub 호스팅 리포지토리에서 읽기/쓰기 작업을 수행하는 Heroku에서 호스팅되는 앱을 쓰고 있습니다.Heroku -> GitHub SSH 주요 문제

나는 다음과 같은

  • 내 GitHub의 계정과 동일한 이메일을 사용하여 SSH 키를 생성했을
  • 추가 된 저장소에 관리 권한이있는 내 GitHub의 계정에 SSH 공개 키
  • heroku를 사용하여 Heroku에 SSH 공개 키를 추가했습니다 : keys add

GitHub에서 호스팅되는 저장소 (전체 액세스 권한이있는 호스트)에서 git 작업을 수행하려고하면 "Ho st 키 확인에 실패했습니다 "

내가 뭘 잘못하고 있는지 잘 모르겠다. 내가 말할 수있는 한, Heroku 앱은 GitHub의 레포로 읽고 밀어 낼 수 있어야한다.

동일한 스크립트를 로컬에서 실행하면 모든 것이 매력처럼 작동합니다.

누군가가 나를 도와 줄 수 있다고 생각합니다.

답변

2

다시 Heroku가 지원에서 심리 후, VonC이 말한 라인을 따라 무엇인가 언급했다. Heroku에서 사용할 수없는 키이므로 실패했습니다.

VonC에서 상상할 수 있다고 말했지만 개인 키와 공개 키를 공유하지 않고 git 작업에 OAuth Token을 사용하기로 결심했습니다.

이 기사에 따르면 사용자 이름 대신 GitHub OAuth 토큰을 사용할 수 있으며 모든 것이 잘 동작합니다. Heroku config var로 설정하면 코드에 나타나지 않아도됩니다. https://help.github.com/articles/git-automation-with-oauth-tokens

+0

동의합니다. +1. 내가 config var을 언급하고 있었기 때문에 git repo (더 안전한 방법)에 키를 넣지 않아도 private ssh 키와 같은 개인 자원에 액세스하는 좋은 방법이기 때문이다. – VonC

1

동일한 스크립트를 로컬로 실행하면 모든 것이 매력처럼 작동합니다.

이는 로컬로 $ HOME/.ssh에 개인 키와 공개 키가 모두 있기 때문입니다.
GitHub 또는 Heroku와 같은 레포 호스팅 서버에 액세스해야합니다.

즉 : Heroku가 직접 GitHub에 액세스해야하는 경우 공개 개인 ssh 키가 필요합니다. 설정이

heroku config:add PRIVATE_KEY="-----BEGIN RSA PRIVATE KEY----- 
    MMMMMMMMaaaaaammmmammamamammamaasdhkghkdahgj8234joihsdfJHHKJGHGG 
    ... 
    -----END RSA PRIVATE KEY-----" 

당신이 키를로드 할 때 구성 VAR을 통과해야합니다 바르로

당신은 당신의 개인 키를 참조하는 (in this article로)가 필요합니다.

키 =에는 OpenSSL :: PKEY :: RSA.new ENV는 [ "PRIVATE_KEY은"] 'notasecret'

그리고 당신에게 Heroku 응용 프로그램은 GitHub의에 문의 할 때 개인 키 것을 사용할 수 있습니다.

개인 키 공유는 싫은 데, GokuHub에 액세스하는 Heroku 전용 공개/개인 키를 생성하고 GitHub 레포에 새 공개 키를 추가하는 것이 좋습니다.

당신은에 (개인 SSH 키에 액세스 할 수있는 Heroku가 앱)과 유사한 접근 방법을 발견 할 것이다 :

+0

이 글을 쓰려면 시간을내어 주셔서 감사합니다! 위에서 언급했듯이 SSH 키 대신 OAuth 토큰을 사용하기로 결심했습니다. – lukerollans