やりたいこと
GitHubの仕事用とプライベート用のアカウントを使い分けしたい。
解決方法
新規アカウントの鍵作成・登録
今回は既にプライベート用のGitHubアカウントがあり、新規で仕事用のアカウントを追加したと想定します。
まずは、新規アカウント用の秘密鍵・公開鍵を作成します。
今回~/.ssh
内にjobディレクトリを作成して、その配下に鍵を配置します。
$ mkdir ~/.ssh/job
ssh-keygenコマンドで鍵を作成します。-Cのコメント部分には、GitHubに登録しているメールアドレスを指定します。
$ ssh-keygen -t rsa -b 4096 -C "your_email@example.com" -f ~/.ssh/job/id_rsa
Generating public/private rsa key pair.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
これで秘密鍵(id_rsa
)と公開鍵(id_rsa.pub
)が生成されました。
GitHubに公開鍵を登録
GitHubのSettings > SSH and GPG keys > New SSH keyの順に選択すると、鍵の登録画面が表示されます。

Keyには、公開鍵を入力します。
cat ~/.ssh/job/id_rsa.pub | pbcopyとコマンドを打つと、公開鍵の内容がコピーできるので、そのまま貼り付けます。
~/.ssh/configを編集
~/.ssh/configに複数のアカウント情報を記述します。vimコマンドでconfigファイルの編集を行います。
$ vim ~/.ssh/config
INSERTモードにして、以下のように記述します。Host名は任意のものでOKです。
Host github.com-job
HostName github.com
User git
Port 22
IdentityFile ~/.ssh/job/id_rsa
TCPKeepAlive yes
IdentitiesOnly yes
Host github.com-private
HostName github.com
User git
Port 22
IdentityFile ~/.ssh/id_rsa
TCPKeepAlive yes
IdentitiesOnly yes
記述が終わったら、INSERTモードを解除して、
:wq
で内容を保存し、vim画面を終了させます。
接続確認
最後に接続の確認を行います。
sshの後ろに、先ほどconfigに設定したHost名を入力します。
$ ssh github.com-job
以下が返ってきたらOKです。
Hi 【GitHubのアカウント名】! You've successfully authenticated, but GitHub does not provide shell access.