git push heroku master 権限が拒否されました(公開鍵)。致命的:リモート側が予期せずハングアップしました 質問する

git push heroku master 権限が拒否されました(公開鍵)。致命的:リモート側が予期せずハングアップしました 質問する

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キーセットを生成し、最初のステップをもう一度試してください

    https://help.github.com/articles/generating-ssh-keys

  • ステップ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を再インストールする

おすすめ記事