複数の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鍵を使用して接続してくれるようになります。