gitの認証でたくさんのsshキーがありすぎるときの解決方法
僕の場合、リポジトリA、リポジトリBでそれぞれ異なるSSHキーを使っていることがある。
例えば会社絡みリポジロリではid_rsa_a
で、個人プロジェクトではid_rsa_b
、推し事関連ではid_rsa_c
など。
git push
するとき、それぞれで合う秘密鍵を指定してgit push
してる。
まあだけど、いつもググってばっかりなので、備忘を残す。
運用を見直せってのもあると思うけど、ちょっと思いつかない。
TL;DR
~/.ssh/config
に設定を追加する- git の remote 設定を変更する
詳しくはここ
configファイルを作成する
~/.ssh/にconfigファイルを作成する。
以下の要領でconfigファイルを設定する。
Host hogehoge HostName github.com # このホスト設定で使いたいGitのホスティングサービス IdentityFile ~/.ssh/id_rsa_hoge # 秘密鍵の方 User git # githubとかでクローンするとき`git@github.com`ってなってると思うけど、その`@`の前のやつ IdentitiesOnly yes Compression yes Host fuga HostName github.com IdentityFile ~/.ssh/id_rsa_fuga User git IdentitiesOnly yes Compression yes
remoteの設定を変更する
git remote -v
で
origin git@github.com:hogehoge/fuga-project.git (fetch) origin git@github.com:hogehoge/fuga-project.git (push)
とか出てくる。
このURL git@github.com:piyo/fuga-project.git
を、configファイルで設定したものに書き換える
git remote set-url origin hoge:piyo/fuga-project.git
上記のコマンドで、
origin hoge:hogehoge/fuga-project.git (fetch) origin hoge:hogehoge/fuga-project.git (push)
となる。
これで、git push
時に、configで設定した秘密鍵が勝手に当たるようになる。
QOLがちょっぴり上がった。