herokuでpushしようとしたらPermission deniedとなってしまう

感想おまちしてます!

heroku-logo-dark-300x100

Getting Started with Rails 3.xを見ながらherokuにRails3アプリをデプロイしようとしたら「Permission denied (publickey).」と怒られてしまった。公開鍵の設定に何やら問題があるみたいなので調べてみた。

エラーが出た時のログはこんな感じ。「git push」でエラーが出てしまってデプロイできない。

環境はMac(MBA)。改めてherokuデプロイまでの手順を確認した。まずは、heroku toolbeltをインストールして、herokuとSSH通信するために公開鍵を準備する。

「/Users/yourname/.ssh/heroku_rsa」という名前で保存。あわせて「heroku_rsa.pub」という鍵もできる。passphraseは忘れないように覚えておくこと。herokuにデプロイするときに度々聞かれる。次に鍵をherokuに登録。

鍵の場所を指定しない場合は、.ssh以下の鍵を自動で探すみたいです。鍵を確認してみる。

成功していれば、さっきのメールアドレスが表示されるはず。余計な鍵があれば以下のコマンドで削除可能。

さらに、以下のコマンドも必要みたい。

また、githubの公開鍵もあるので、使い分けるために以下の設定を「~/.ssh/config」に記述する。

鍵の設定についてはManaging Your SSH Keysにもちょっとだけ書いてあった。鍵問題はこれで解決したみたいなので、ためしにpushしてみる。

どうも何回もheroku createしたので、アプリが大量にherokuに登録されていた。いらないものを削除。リモートのリポジトリを確認。

いらないアプリがあれば削除

次からは「heroku create」時にアプリ名をつけたほうがいい気がした。

これでようやくpush成功