複数のアカウントにSSH接続する

複数のGitHubアカウントを同じパスコンで使用する時の手順です。

  1. SSHキーを作成する。既に同じ名前のSSHキーが存在すると思うので、作成時に聞かれるファイル名は被らないようにする。
ssh-keygen -t ed25519 -C "サブアカウントのメールアドレス"
  1. 既に作成済みのconfigファイルを編集する。
code ~/.ssh/config
# 編集前のconfigの中身(例)
Host *
  AddKeysToAgent yes
  IdentityFile ~/.ssh/id_ed25519
# 編集後のconfigの中身(例)
Host github.com.main #メインのGitHubユーザー名
  AddKeysToAgent yes
  IdentityFile ~/.ssh/id_ed25519
Host github.com.sub #サブのGitHubユーザー名
  AddKeysToAgent yes
  IdentityFile ~/.ssh/id_ed25519_sub
  Hostname ssh.github.com
  Port 443
  User git
  1. ssh-agentを起動し、新しいSSHキーを追加する。
cd ~/.ssh
eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_ed25519_sub
  1. 作成したSSHキーをクリップボードにコピーし、GitHubにログインしてSSHキーを登録する。
    Settings -> SSH keys -> Add SSH key
clip <~/.ssh/id_ed25519_sub.pub
  1. リポジトリをローカルにクローンした後は、リポジトリのディレクトリでlocalユーザーを設定する。(メインアカウントはglobalに設定されているはず)
git config --local user.name "サブアカウントのユーザー名"
git config --local user.email "サブアカウントのメールアドレス"
タグ: