GitHubで複数SSHキー使い分け

GitHubで複数SSHキー使い分け

July 28, 2020
Misc
GitHub, SSH

GitHubのリポジトリ毎で異なるアカウントを利用する方法。

SSHキーの作成とGitHubへの登録 #

公式ドキュメントを見ながらやる。

SSHキーをssh-addする #

User A のキーが id_rsa_key_a 、User B のキーが id_rsa_key_b とする。

$ ssh-add ~/.ssh/id_rsa_key_a
$ ssh-add ~/.ssh/id_rsa_key_b

キャッシュを削除しておいた方が良い。

$ ssh-add -D

追加済みのキーを確認。

$ ssh-add -l

ssh configファイルに振り分け設定 #

Host github.com-user-a
	HostName github.com
	User git
	IdentityFile ~/.ssh/id_rsa_key_a

Host github.com-user-b
	HostName github.com
	User git
	IdentityFile ~/.ssh/id_rsa_key_b

それぞれのプロジェクトで git config 設定 #

$ git config user.name "user-a"
$ git config user.email "user-a@gmail.com" 
$ git config user.name "user-b"
$ git config user.email "user-b@gmail.com" 

それぞれのプロジェクトの Remote URL を変更する #

$ git remote set-url git@github.com-user-a:user-a/repo-a.git
$ git remote set-url git@github.com-user-b:user-b/repo-b.git

補足 #

そもそもでGitHubの複数アカウント利用は利用規約的に禁止されている(2020.07.28時点)。

see also #

man ssh_config