54

私はruby.railstutorialをフォローしています。コマンド「gitpushherokumaster」を実行すると、このエラーが発生します。

Permission denied (publickey).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.

Railsアプリ「/Users/ lexi87 / rails_projects/first_app」の中にいます。解決策はありますか?

4

7 に答える 7

71

このようなエラーを回避する最善の方法は、heroku 用の追加のキーではなく、1 つの公開/秘密キー ペアを使用することです。このようにして、あなた (またはあなたのシステム) が間違ったキーを選択して heroku にログインすることはありません。

このエラーが発生した場合は、何か問題があります。このサイトを確認してください: https://devcenter.heroku.com/articles/keys

このエラーが発生した場合、不要なキーを削除して 1 つだけを使用するのが最善の方法です。

システムに複数の鍵ペアが必要な場合は、heroku に 1 つの鍵を設定できます。これは、次のコマンドを使用して行います。

heroku keys:add
于 2013-01-15T18:06:44.233 に答える
13

Github Windows クライアントがインストールされている Windows 7 ユーザー向けのヘルプ:

heroku toolbelt が私の git_hub 公開鍵を見つけてアップロードしたことを報告しても、'git push heroku master' は失敗しました。以下の手順を実行すると、正常に動作します。

  1. 存在しない場合は、User フォルダーの下に .ssh フォルダーを作成します。存在する場合は、その中のすべてのファイルを削除します (これは、ssh キーを使用してゼロから開始することに問題がないことを前提としています)。

  2. Windows エクスプローラーで .ssh フォルダーを右クリックし、コンテキスト メニューから [Git bash] を選択します。これは、Github Windows クライアント ソフトウェアと共にインストールされます。

  3. bash ウィンドウで ssh-keygen -t rsa -C "yourname@email.com" と入力し、プロンプトが表示されたらパスフレーズを入力します (これは失わないでください)。

  4. bash シェル ウィンドウを閉じます。

  5. プロジェクトのルートにある cmd プロンプトから、 と入力しますheroku keys:add。これにより、/.ssh ファイルから作成したばかりのキーが検出され、Heroku にアップロードされます。

git push heroku masterこれで、アプリを Heroku にプッシュするために入力できます。注: 完了したら、新しく生成した ssh 公開鍵を Github アカウントに追加する必要があります。

于 2014-03-24T11:47:59.137 に答える
4
ssh-keygen -t rsa

既存のキーにリンクすることもできるため、上記はオプションです。Heroku は、次のステップでキーを選択するように求めます。

heroku keys:add

新しく作成したキーまたは既存のキーを追加します。問題が解決しない場合は、次の手順を実行して、マシンの ssh キーのリストにキーを追加する必要があります。

ssh-add ~/.ssh/name_of_your_rsa

sshが追加されたことを確認します

ssh-add -l

これにより、Heroku のリモート リポジトリにプッシュできるようになります。

于 2014-05-08T02:23:42.113 に答える
2

OSX では、同じ問題が発生していました。

no such identity: /Users/me/.ssh/yourPrivateKey: No such file or directory
Permission denied (publickey).
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

ssh-keygen -t rsa で新しいキーを作成してから、heroku keys:add で追加しようとしましたが、役に立ちませんでした。

次に、 ~/.ssh/ でconfigという名前のファイルを見つけました。ファイル内には次のものがありました。

ServerAliveInterval 300
ServerAliveCountMax 3

host heroku.com
    user git
    hostname heroku.com
    identityfile ~/.ssh/yourPrivateKey

だから私はyourPrivateKeyを私の秘密鍵のファイル名(デフォルトではid_rsa)aaに変更し、それはうまくいきました:)

于 2014-09-01T20:19:37.343 に答える