GitHub – 複数のアカウントを追加してSSH接続で切り替える方法

midSun31midSun31
IT・デジタル

GitHubのアカウントが複数ある場合、アカウントを切り替えてSSH接続したい場合があると思います。

この記事ではSSH接続により、1つの端末内で複数のGitHubアカウントを使用する方法をご紹介します。

事前準備

前提としてGitHubアカウントを既に複数持っており、それぞれにリポジトリが作成されていることを想定しています。

アカウントやリポジトリの作成から行う場合は次の記事も参考にしてください。

メインアカウントは既に「id_rsa」の名称でSSH Keyが登録されているものとします。サブアカウント用のSSH Keyを作成する手順から解説します。

  • メインアカウント…SSH Keyを作成しGitHubへ登録済み
  • サブアカウント…SSH Keyは未作成・未登録

サブアカウント用のSSH Keyの作成・登録手順

次の設定を行うことで複数のSSH Keyでの接続ができるようになります。

  1. サブアカウント用のSSH keyを作成するためにGitBash上で以下のコマンドを実行します。
    ssh-keygen -t rsa -C  -f 
    • ファイル名はメインアカウントとは異なる名称を指定します。対話形式では誤ってエンターキーを押してデフォルトの名称にしてしまう可能性があるので、ファイル名はオプションで指定しておいた方が安全です。
  2. GitHubにサブアカウントでログインし、SSH key登録の画面を開きます。作成したサブアカウント用のSSH keyの内容を登録します。
  3. コマンドライン上で「~/.ssh/config」を以下のように記述し保存します。当該ファイルが存在しない場合は作成します。
    #メインアカウント用
    Host github.com
    HostName github.com
    User git
    Port 22
    IdentityFile ~/.ssh/id_rsa
    TCPKeepAlive yes
    IdentitiesOnly yes
    #サブアカウント用
    Host github.com.sub
    HostName github.com
    User git
    Port 22
    IdentityFile ~/.ssh/id_rsa_sub
    TCPKeepAlive yes
    IdentitiesOnly yes
    • サブアカウントのHostは、「github.com」以外でわかりやすい名称をつけます。
    • メインアカウント・サブアカウントそれぞれのIdentitiyFileには、作成したSSH keyのパスを指定します。
  4. それぞれのSSH keyでGitHubに接続できることを確認します。
    • メインアカウント
      $ ssh -T git@

      【実行結果】

    • サブアカウント
      $ ssh -T git@

      【実行結果】

以上でメイン・サブアカウントそれぞれのSSH接続が可能になりました。

SSH接続で複数のアカウントを切り替える方法

メインアカウントでgit cloneする

メインアカウントでのクローンは、通常のクローンと同じ手順でできます。

  1. SSH接続用のURLをコピーします。
  2. git cloneの後にSSH用のURLを貼り付けて実行します。
    $ git clone git@github.com:user/repository.git

サブアカウントでgit cloneする

サブアカウントでリポジトリをクローンする場合は、URLに注意する必要があります。

  1. SSH接続用のURLをコピーします。
  2. git cloneの後に貼り付けます(まだ実行はしません)。
    $ git clone git@github.com:user/repository.git
  3. URL中の「@github.com」をssh.configに設定したサブアカウントのホスト「@github.com.sub」に書き換えて実行します。
    $ git clone git@github.com.sub:user/repository.git

    【実行結果】

これで当該リポジトリについて、サブアカウントのSSH情報の使用を認識させることができます。

以上、複数のGitHubアカウントをSSH接続で切り替える手順でした。

この記事のテーマに戻る
GitHubの使い方
IT・デジタル
Howpon[ハウポン]

コメント