tkymtk's blog

Ruby on Rails及びその周辺について調べたこと。Do whatever you want to do at your own pace.

エラー: 新しい環境からHerokuにpushするとき。

解決すること

  • 次のラインを実行できるようにする
$ git push heroku

エラー

Permission denied (publickey).
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

対処法

Managing Your SSH Keys | Heroku Dev Centerに従う

  • まず公開鍵を生成する
$ ssh-keygen -t rsa
  • (DSAを使いたいときは-t dsa
  • こんなのが表示されるので、デフォルトのロケーションを入力
  • ()の中のパスをそのまま入力してもいいんじゃないかな。
Generating public/private rsa key pair.
Enter file in which to save the key (/Users/<user-name>/.ssh/id_rsa): 
  • パスワードを入力するように言われる。
  • もし環境が物理的に安全で、他のだれも使わないならパスワードは必要でない
  • ~/.ssh/id_rsaの内容を秘密にする限り、パスワードがなくても安全
  • 次に鍵をHerokuに追加
$ heroku keys:add
  • こんなのが表示されたら、選択する方の番号を入力
Found the following SSH public keys:
1) github_rsa.pub
2) id_rsa.pub
  • 自分の場合2と入力した
  • セキュリティのために、SSHキーがアカウントに追加されたことのメールがHerokuからくる。
  • これで無事git push herokuできるようになった。

  • 使ってない古いキーは削除しておく(パソコンが盗まれたりした場合も)

$ heroku keys:remove adam@workstation.local
Removing adam@workstation.local SSH key... done
  • 確認
$ heroku keys
=== joe@example.com Keys
ssh-dss AAAAB8NzaC...DVj3R4Ww== joe@workstation.local

リンク

間違いがあれば、ご指摘下さると幸いです。