複数のherokuアカウントで異なるSSHを設定したい
herokuで複数アカウントを管理し出すとSSH鍵が複数必要です。
herokuに限らずSSH用の鍵を複数使い回す場合は、~/.ssh/configにSSH接続先情報と使用するSSH鍵を紐付ける設定をおこないます。
今回は、herokuにおいて少しハマったので備忘録を残します。
GitHubでも何でも、要は、レポジトリ毎に使用するSSH鍵を変えたい場合に有効かと思います。
SSH鍵を生成
-Cオプションでコメント残して、-fオプションで生成する秘密鍵ファイル名を指定します。公開鍵名は-fオプションで指定したファイル名末尾に.pubが付いたファイル名で生成されます。
1 2 | |
SSH接続情報を設定
~/.ssh/configにherokuの接続情報を記述します。
1 2 3 4 5 6 | |
herokuのURL部分を~/.ssh/configと合わせる
gitレポジトリを作成すると.git/configというファイルが作成されます。
heroku apps:createコマンドを実行してherokuアプリケーションを作成した際にherokuというremoteが定義されます。そしてこのherokuというremoteの接続情報が.git/configに書き込まれます。通常、git@heroku.com: レポジトリ名.gitというURLが設定されているはずです。このURLのheroku.comを先ほど~/.ssh/configでHostとして付けた名前に書き換えます。
1 2 3 4 | |
これでgit push heroku masterコマンドでherokuへpushする時には~/.ssh/id_rsa_heroku_sample_appというSSH鍵を使用して接続してくれるようになります。