herokuに作ったアプリをgit cloneするなどの際に必要なSSH設定のメモ。

SSH設定していないと

以前やったgithubのとき と同じく、Permission denied (publickey)な感じで怒られる。

$ git clone git@heroku.com:vivid-stone-1234.git -o heroku
Cloning into vivid-stone-1234...
Warning: Permanently added the RSA host key for IP address 'xx.xx.xx.xx' to the list of known hosts.
Permission denied (publickey).
fatal: The remote end hung up unexpectedly

SSH設定方法

公開鍵をつくる

  • .sshに
    $ cd ~/.ssh
    
  • heroku用の鍵としてid_rsa_herokuという名前でつくる
    $ ssh-keygen -t rsa -C "[herokuアカウントのメールアドレス]"
    Generating public/private rsa key pair.
    Enter file in which to save the key (/home/ryu/.ssh/id_rsa):id_rsa_heroku
    Enter passphrase (empty for no passphrase):
    Enter same passphrase again:
    :
    

heroku keys:addコマンドでherokuに鍵を追加する

$ heroku keys:add ~/.ssh/id_rsa_heroku.pub

(2012/04/05 追記) git push時にPermission deniedになることもある

git push時にPermission deniedになることもあるケースもあることをセールスフォース・ドットコムの方からコメントをいただいた(Facebookコメント設置をミスって消えてしまったのだが)。
で、さっそくそれに遭遇した。。

~/.ssh/config にherokuを追加したらOKだった。

Host heroku.com
 Hostname heroku.com
 port 22
 IdentityFile ~/.ssh/id_rsa_heroku
 TCPKeepAlive yes
 IdentitiesOnly yes