GitHubで複数アカウントを利用する(SSH Keys設定)

ケース

自分用、会社用でGitHubのアカウントを分けているが、 自宅PC(接続元)からどちらのアカウントも利用したい。

※この場合、自宅PCで公開鍵を作成してGitHubの「SSH Keys」で設定するが、同じ公開鍵を複数アカウントでは使うことはできない。

解決方法

接続元に複数の公開鍵を作成し、.ssh/configで管理。 GitHub接続時に利用する鍵を指定する。

手順

公開鍵の生成、設定

接続元で必要な分のキーペアを作成し、GitHubのそれぞれのアカウントへ登録しておく。 ※このとき、キーの名前を変えて生成する。 例)id_rsa.foo、id_rsa.bar  →id_rsa.foo/id_rsa.foo.pub、id_rsa.bar/id_rsa.bar.pubというようにキーペアが作成される。

手順はGitHubのリファレンスの通り。 Generating SSH Keys · GitHub Help

.ssh/configの作成、設定

ファイルが存在しない場合は、作成して下記の通りように設定する。 ※パーミッション:600

.ssh/config

Host github-foo
 HostName github.com
 User git
 IdentityFile /pathToKey/id_rsa.foo

Host github-bar
 HostName github.com
 User git
 IdentityFile /pathToKey/id_rsa.bar

以上で完了。

GitHub接続時

下記のように指定して接続する。

git clone git@github-foo:userName/repositoryName.git
git clone git@github-bar:userName/repositoryName.git