VSCodeで複数のGithubアカウント(SSH)を使い分ける

仕事用のGithubアカウントとプライベート用のGithubアカウントを持っていてVscodeで切り替える方法がわからなかったので調査して備忘録としてメモします。

アカウント毎のSSHの秘密鍵を配置

アカウント毎のSSH PrivateKeyを作成し、~/.ssh/配下に配置します。

.ssh
├─private_github
│      id_rsa
│      id_rsa.pub
│
└─work_github
        id_rsa
        id_rsa.pub

上記の例ではプライベート用は private_github、仕事用はwork_githubというディレクトリを作成し配下に秘密鍵を配置しています。

Gitを発行

Gitする際にsshCommandオプションを使って、使用する秘密鍵を指定します。

■Cloneの例
git -c core.sshCommand="ssh -i ~/.ssh/private_github/id_rsa" clone git@github.com:アカウント/リポジトリ.git .

VSCodeのプロジェクト毎の設定

sshCommandを使うことにより特定の秘密鍵を使用したGitはできるのですが、VscodeのGit拡張モジュールが呼び出すGitコマンドにはsshCommandを指定できない為、Vscodeのconfigファイルに記述してあげる必要があります。

git init もしくは git cloneをすると直下に.gitというフォルダが作成されます。その中のconfigファイルにsshCommandを追記します。(赤字)

[core]
	sshCommand=ssh -i ~/.ssh/private_github/id_rsa
	repositoryformatversion = 0
	filemode = false
	bare = false
	logallrefupdates = true
	symlinks = false
	ignorecase = true
[remote "origin"]
	url = git@github.com:アカウント/リポジトリ.git
	fetch = +refs/heads/*:refs/remotes/origin/*
[branch "main"]
	remote = origin
	merge = refs/heads/main

コメント