Heroku が顧客サポートとして SO を使用しているため (控えめに言っても粗雑だと思います)、少しイライラしますが、それを抑えるように努めます。
過去 5 時間、アプリケーションを公開しようと試みてきましたが、いつもキーに問題が生じます。Heroku の愚かで完全に不透明なプロセスのどこで問題が起きているのかを解明するために、何十もの記事を読み、ヒントを次々と試してきました。
私のユースケースはそれほど難しくありません。Heroku アプリ用に新しいキーペアを作成しました。そのキーを自分のキーに設定しました。
> heroku keys
=== [email protected] Keys
ssh-rsa AAAAB3NzaC...avOqfA7ZBd [email protected]
ログインしてアプリケーションを「作成」することは問題なくできます(アプリケーションではなくgitリポジトリを作成しているようなので、馬鹿げた名前です)。しかし毎*マジで*時間アプリをプッシュしようとすると、次のメッセージが表示されます:
> git push heroku master
Permission denied (publickey).
fatal: The remote end hung up unexpectedly
一体何が起こっているのか、私には全く見当がつきません。Google という全能の神が答えてくれることを願う以外に、キーボードに頭をぶつけ続けるしかありません。そして、Google は答えてくれません (まあ、この発言は撤回します。この質問に回答する方法は 12 通りほど見たことがあります)。
簡単なはずのシステムなのに、これは冗談だ。Herokuのアイデアは気に入っているが、完全に理解するのに5時間もかかった。何もない完了しました。おそらくそれは間違った選択だと思います。
ベストアンサー1
ウェブ上にはさまざまな解決策があります。 利用可能なオプションを 1 つの投稿にまとめようと思います。 各手順の後に、もう一度接続をお試しください。
ステップ1: Herokuに公開鍵を追加してみる
heroku keys:add ~/.ssh/id_rsa.pub // or just heroku keys:add and it will prompt you to pick one of your keys
ステップ2: 新しいSSHキーセットを生成し、最初のステップをもう一度試してください
ステップ3: 設定ファイルを確認および/または変更する
vim ~/.ssh/config Host heroku.com Hostname heroku.com Port 22 IdentitiesOnly yes IdentityFile ~/.ssh/id_rsa <--- Should be your public SSH key TCPKeepAlive yes User [email protected]
ステップ4: gitからherokuリモートを削除し、接続を再作成します。heroku create経由でリモートを追加するのは、新しいリポジトリのオプションのみです。最初に作成しようとした古いリポジトリを必ず削除してください。
$ git remote rm heroku $ heroku create
ステップ5: Heroku Toolkitを再インストールする