こんにちは。Takitaです。
GitHubのアカウントを複数使い分ける必要があったため、
ローカルからGitHubにSSHをする際にGitHubのアカウントを使い分けれるように
設定をしました。
今後もアカウントが増えるかもしれないので手順をメモしておきます。
秘密鍵(idrsaforhoge)と公開鍵(idrsaforhoge.pub)を生成します。
$ ssh-keygen -t rsa -C hoge@example.com -f id_rsa_for_hoge
鍵を使い分けてGitHubにSSHするために設定ファイルを編集します。
$ vim ~/.ssh/config
# 以下を追加
Host hoge.github.com
Hostname github.com
User git
IdentityFile ~/.ssh/id_rsa_for_hoge
IdentitiesOnly yes
Hostをgithub.comにするのではなく、
hoge.github.comとして読み込む秘密鍵を変えることで、
アカウントの使い分けを実現しています。
SSH keys から公開鍵(idrsafor_hoge.pub)の内容を登録します。
$ ssh -T git@hoge.github.com
以下のように表示されればOKです。
Hi hoge! You've successfully authenticated...
もともと使っていたアカウントがデグレしてないかも確認しておきます。
$ ssh -T git@github.com
$ git clone git@hoge.github.com:hoge/fuga.git
上記でリポジトリをcloneした後、
リポジトリ内のgitの設定を変更しておきます。
※ コマンドはcloneしたリポジトリに移動してから行ってください
$ git config --local user.name 'hoge'
$ git config --local user.email 'hoge@example.com'
おおもとの設定は~/.gitconfigにありますが、
上記のコマンドでリポジトリ内のgitconfigに
設定を追加しました。
$ cat .git/config
[remote "origin"]
url = git@hoge.github.com:hoge/fuga.git
fetch = +refs/heads/*:refs/remotes/origin/*
[user]
name = hoge
email = hoge@example.com
以上!