.ssh/configで複数のGitHubのSSHキーを設定する方法




複数サイトを管理していて、GitHubのアカウントも複数アカウント管理している場合、.ssh/configへの設定で管理することができます。

設定例

GitHubに設定した鍵をそれぞれ~/.ssh/id_rsa_site1と~/.ssh/id_rsa_site2に保存しているとします。
それぞれの鍵を利用した接続をしたい場合、まず.ssh/configに以下の設定を追加します。

# GitHub アカウント1
Host github.com-site1
  HostName github.com
  User git
  IdentityFile ~/.ssh/id_rsa_site1
  IdentitiesOnly yes

# GitHub アカウント2
Host github.com-site2
  HostName github.com
  User git
  IdentityFile ~/.ssh/id_rsa_site2
  IdentitiesOnly yes

次にGitHubのソースを上記設定を利用して取得します。

新規で取得する場合

site1を取得する場合は以下となります。

git clone git@github.com-site1:ユーザー名/リポジトリ名.git

site2を取得する場合は以下となります。

git clone git@github.com-site2:ユーザー名/リポジトリ名.git

git clone git@github.com-site2:ユーザー名/リポジトリ名.git

すでにcloneされたリポジトリの設定を変更する場合

git remote set-url origin git@github.com-site1:ユーザー名/リポジトリ名.git