Getting Started with Rails 3.xを見ながらherokuにRails3アプリをデプロイしようとしたら「Permission denied (publickey).」と怒られてしまった。公開鍵の設定に何やら問題があるみたいなので調べてみた。
エラーが出た時のログはこんな感じ。「git push」でエラーが出てしまってデプロイできない。
https://gist.github.com/daipresents/36c79ed3d4814c01dd7d60a9464a8523.js?file=gistfile1.txt
環境はMac(MBA)。改めてherokuデプロイまでの手順を確認した。まずは、heroku toolbeltをインストールして、herokuとSSH通信するために公開鍵を準備する。
https://gist.github.com/daipresents/36c79ed3d4814c01dd7d60a9464a8523.js?file=gistfile2.txt
「/Users/yourname/.ssh/heroku_rsa」という名前で保存。あわせて「heroku_rsa.pub」という鍵もできる。passphraseは忘れないように覚えておくこと。herokuにデプロイするときに度々聞かれる。次に鍵をherokuに登録。
https://gist.github.com/daipresents/36c79ed3d4814c01dd7d60a9464a8523.js?file=gistfile3.txt
鍵の場所を指定しない場合は、.ssh以下の鍵を自動で探すみたいです。鍵を確認してみる。
https://gist.github.com/daipresents/36c79ed3d4814c01dd7d60a9464a8523.js?file=gistfile4.txt
成功していれば、さっきのメールアドレスが表示されるはず。余計な鍵があれば以下のコマンドで削除可能。
https://gist.github.com/daipresents/36c79ed3d4814c01dd7d60a9464a8523.js?file=gistfile5.txt
さらに、以下のコマンドも必要みたい。
https://gist.github.com/daipresents/36c79ed3d4814c01dd7d60a9464a8523.js?file=gistfile6.txt
また、githubの公開鍵もあるので、使い分けるために以下の設定を「~/.ssh/config」に記述する。
https://gist.github.com/daipresents/36c79ed3d4814c01dd7d60a9464a8523.js?file=gistfile7.txt
鍵の設定についてはManaging Your SSH Keysにもちょっとだけ書いてあった。鍵問題はこれで解決したみたいなので、ためしにpushしてみる。
https://gist.github.com/daipresents/36c79ed3d4814c01dd7d60a9464a8523.js?file=gistfile8.txt
どうも何回もheroku createしたので、アプリが大量にherokuに登録されていた。いらないものを削除。リモートのリポジトリを確認。
https://gist.github.com/daipresents/36c79ed3d4814c01dd7d60a9464a8523.js?file=gistfile9.txt
いらないアプリがあれば削除
https://gist.github.com/daipresents/36c79ed3d4814c01dd7d60a9464a8523.js?file=gistfile10.txt
次からは「heroku create」時にアプリ名をつけたほうがいい気がした。
https://gist.github.com/daipresents/36c79ed3d4814c01dd7d60a9464a8523.js?file=gistfile11.txt
これでようやくpush成功
https://gist.github.com/daipresents/36c79ed3d4814c01dd7d60a9464a8523.js?file=gistfile12.txt