4

このエラーについては多くの質問がありますが、それらはすべて、エラーが発生した人が作成したアプリに関係しており、問題の解決には役立っていません. heroku のアプリにコラボレーターとして追加されました。herokuリポジトリのクローンを作成しようとすると

git clone git@heroku.com:myapp.git -o heroku

または、github に基づいたコードを複製して実行する場合

git push heroku master (git add と git commit を実行した後)

「指紋を含むキー (...) は myapp にアクセスする権限がありません」というエラーが表示されます。heroku keys:add、heroku keys:clear、ssh-keygen のさまざまな組み合わせを試しました。

このアプリの他の協力者は、heroku へのプッシュに問題はありませんでした。

4

3 に答える 3

4

複数の heroku アカウントを使用していたため、このエラーが発生しました。

チーム/プロジェクト アカウントで他のユーザーと共同作業しながら、自分の Heroku アカウントで独立して「プレイ」できるように、これをやりたかったのです。

これは、複数のユーザーがチーム アカウントで共同作業を行うという Heroku の概念とは別のものです。チーム アカウントを共同作業のアプリ所有者にして、個人アカウントが他のチーム メンバーと同様に権限の低い共同作業者として機能できるようにしたかったのです。 . 有料アドオンの追加/削除、アプリの削除/名前変更、請求書の表示は、所有者のみが行うことができます。

複数のアカウントをサポートするには (たとえば、自分の heroku アカウントなど)、あまりドキュメント化されていない次のアドオンを追加する必要があります。

$ heroku plugins:install git://github.com/ddollar/heroku-accounts.git

参照: https://github.com/ddollar/heroku-accounts

最終的に git SSH のセットアップは次のようになります。

(venv)MacPro:your_project username$ more .git/config
[core]
        repositoryformatversion = 0
        filemode = true
        bare = false
        logallrefupdates = true
        ignorecase = true
[remote "origin"]
        fetch = +refs/heads/*:refs/remotes/origin/*
        url = ssh://your_username@git.your_org.com/your_project.git
[branch "master"]
        remote = origin
        merge = refs/heads/master
[remote "heroku_kb"]
        url = git@heroku.individual:your_individual_app.git
        fetch = +refs/heads/*:refs/remotes/heroku/*
[remote "heroku_ocp"]
        url = git@heroku.your_project:your_team_app.git
        fetch = +refs/heads/*:refs/remotes/heroku/*
[heroku]
        account = individual

上記の最後の 3 つのセクションでは、2 つの個別の heroku リモートを定義し、どちらをアクティブにするかを指定します。

heroku-accounts アドオンは ~/.ssh/config エントリを追加することでこれらすべてを機能させます:

Host heroku.individual
  HostName heroku.com
  IdentityFile "/Users/username/.ssh/identity.heroku.individual"
  IdentitiesOnly yes

Host heroku.your_project
  HostName heroku.com
  IdentityFile "/Users/username/.ssh/identity.heroku.your_project"
  IdentitiesOnly yes

このようにアカウントを分離しないと、一方の SSH キーが他方に干渉し、私が行ったように SSH リムボになってしまい、次のようなエラーを google/forum-chasing して楽しんでいます。

MacPro:your_project username$ git push heroku master

 !  Your key with fingerprint cf:5b:6b:91:d5:71:e8:8b:73:dc:cf:86:56:fd:7a:49 is not authorized to access [insert appname here].

fatal: The remote end hung up unexpectedly
于 2012-10-05T23:40:39.897 に答える
1

おそらく複数の ssh キーがあり、デフォルトで間違ったキーが使用されています。これを修正するには、正しいキーを heroku.com に送信するように SSH を構成する必要があります。詳細については、スーパー ユーザーに関するこの回答を参照してください。

于 2012-09-16T21:17:30.540 に答える
1

ある種の構成の問題のように聞こえます。アプリに対する適切な権限があること、および SSH キーが heroku に登録されていることを再確認する必要があります。

使用していると思われるキーを使用していることを確認してください。基本的に、cat ~/.ssh/id_rsa.pub(または使用しているキーは何でも) に表示されheroku keys --longます。

詳細については、 https://devcenter.heroku.com/articles/keysを参照してください。

于 2012-05-25T19:37:56.827 に答える