1. ホーム
  2. git

[解決済み] Heroku「Permission denied (publickey) fatal: Could not read from remote repository」の不具合について

2022-05-04 21:20:58

質問

簡単に解決できそうな問題を解決するために、何時間も探し回っています。しかし、検索しても何も出てこないどころか、多くの解決策が見つかりましたが、どれもうまくいきません。

とにかく、私はMacからHerokuリポジトリをプッシュ、プル、またはフェッチすることができないのです。すべての試みは、私に(まるで私をあざ笑っているかのように)以下のエラーを与えます。

パーミッションが拒否されました (publickey)。 リポジトリ'

いろいろな方法で直そうと(そして再挑戦)しています。言ったように、この2日間のかなりの時間を、答えを求めて探し回ることに費やしました。以下は、私が試したことの一部です。

  • heroku keys:clear の後に heroku keys:add を実行します。
  • ssh-keygen -t rsa'で自力でssh鍵を再生成する。
  • .sshディレクトリの消去、heroku keys:clear、ssh鍵の生成の順で行います。
  • herokuのアプリを削除して再作成(幸いなことにあまり入っていなかったので)

GitHubリポジトリからの取得はうまくいっているので、ネットワーク接続が原因でないことは分かっています(herokuへのpingもうまくいっています)。

その場しのぎの解決策として(恒久的なものにならないことを祈りますが)、私のUbuntu Amazon AWS ec2インスタンスにログインしてみました。Herokuへのプルやプッシュは完璧に動作します。このため、やはり問題はMacのsshキーにあるような気がしています。どちらの鍵も私のHerokuアカウントで表示されます。鍵の末尾にあるメールアドレスが問題なのでしょうか?

EDIT: GitHubからのpushやpullは問題なくできるのに(ただしsshは使っていない)、なぜHerokuはダメなのでしょうか?

今のところ、何でもやってみたいと思っています。ありがとうございます。

どのように解決するのですか?

私自身の疑問に対する答えが見つかったので、共有しようと思っただけです。

自分の問題を書き出すことで、より明確になり、さらに問題の所在を調査しました。

結局、私が正しかったことがわかりました。問題は鍵そのものではなく、ローカルのMacの既知のssh鍵のリストに追加していなかったことだったのです。Herokuのアカウントに正しい鍵がアップロードされているにもかかわらず、Macは私のコンピュータにその鍵を見つけることができなかったので、認証することができなかったのです。解決策は?

ssh-add ~/.ssh/id_rsa
#and, to confirm it's been added to the known list of keys
ssh-add -l

に謝辞を述べたいと思います。 https://help.github.com/articles/error-permission-denied-publickey を参考にさせていただきました。