Herokuの鍵関係についてのメモです。Heroku Toolbeltはインストール済みの前提。
その他公開鍵以外で見直すポイントは、git remoteの向き先です。
・Managing Your SSH Keys | Heroku Dev Center
・Getting Started with Heroku | Heroku Dev Center
鍵の生成と登録
まず鍵ペアを生成します。$ ssh-keygen -t rsa -C "メールアドレス"herokuにアクセスするときに、この鍵を使うように設定します。
~/.ssh/configこのconfigに以下の内容を追加します。IdentityFileには先ほど生成した秘密鍵のパスを設定して下さい。
Host heroku User git HostName heroku.com IdentityFile ~/.ssh/id_rsa Port 22 TCPKeepAlive yes IdentitiesOnly yesherokuにログインし、使う鍵を登録します。
$ heroku login鍵を登録し直す場合は以下のコマンドで指定します。
heroku keys:add [.pubファイルのパス]
どうしても失敗する場合
鍵の生成をやり直しても以下のように認証が通らなくなりました。$ git push heroku master Permission denied (publickey). fatal: The remote end hung up unexpectedly解決方法がわからず、やり直した方が速そうです。登録されている全部の鍵を消します。
$ heroku keys:clear Removing all SSH keys... doneこの方法で鍵がリセットされるので、最初からやり直しができます。
その他公開鍵以外で見直すポイントは、git remoteの向き先です。
gif config --listを確認し、remote.heroku.urlの値が正しいアプリ名に対応しているか調べます。異なっていた場合はgit remote rm herokuしてremoteの登録を一度削除し、git remote add heroku git@heroku.com:[アプリ名].gitコマンドで登録し直します。
資料
・heroku help keys コマンドの出力結果・Managing Your SSH Keys | Heroku Dev Center
・Getting Started with Heroku | Heroku Dev Center