1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Githubのマルチアカウントまとめ

Last updated at Posted at 2023-04-04

副業のため複数のGithubアカウントを使う必要が出てきたので方法をまとめておきます。

手順

  1. Githubのアカウントを2つ作成
  2. それぞれのアカウントでレポジトリを作成する
  3. SSHキーをふたつ作成してそれぞれのGithubアカウントに登録
  4. -/.ssh/configに切り替え用の環境設定を記述
  5. 接続確認
  6. git cloneを実行

環境

項目 内容
OS PC M1 MAC
環境 シェル Vs Code内のzshシェル

Githubのアカウント作成

アカウントの作成方法については割愛します。
自分はGmailでサブアカウント作ってそちらにGithub以外のSAAS諸々紐付けしています。こうしておくとメイン(私用)と副業の情報がGoogleアカウント毎に自然とまとまるので便利です。

SSHキーの生成から

ということでまずはSSH Keyの生成から、複数アカウント使う場合は区別するためにきちんと名前つけましょう。今回は一つ目のSSHキーを個人用に「github_main_rsa」、2個目のアカウントを副業用に「github_sub_rsa」とします。

shell.
cd ~/.ssh
ssh-keygen -t rsa

ssh-keygenコマンドを入れると都合3回入力を促される。2回目と3回目はお好みでいいので一回目だけ事前に決めておいた名前の「github_main_rsa」で入力する。この作業をサブアカの「github_sub_rsa」分も行います。
ちなみに1個目を何も入力しないと「id_rsa」という名前でSSHキーが作成されますが既に存在する場合は上書きされて接続済みSSH接続が動かなくなるので注意です。

shell.
Enter file in which to save the key (/Users/(username)/.ssh/id_rsa):id_sub_rsa #既存のファイル名とは異なる任意のファイル名を指定する
Enter passphrase (empty for no passphrase):
Enter same passphrase again

続けて2個目のアカウント向けにのSSHキーで名前を「github_sub_rsa」として作成します。

shell.
ssh-keygen -t rsa

GithubにSSHキーを登録する

こちらも詳細は割愛します。
前段の作業がうまくいっていれば「~/.ssh」ディレクトリに「github_main」「github_main.pub」「github_sub_rsa」「github_sub.pub」という4つのファイルができているはずなので「github_{xxx}.pub」の中身を開いてそれぞれのGithubアカウントのSSHキーに登録しましょう。
後述の接続テストで繋がらない場合はGithub登録がテレコになっているかconfigファイルの記述が間違っている可能性が高いです。

「~/.ssh」ディレクトリ配下のconfigファイルを修正

2つのアカウントを切り替えするための設定ファイルを記述します。下記のものそのままコピペして使う場合は修正点(1)〜(4)を変更するだけでOK。というか(1)〜(4)以外を変更すると接続できないです。

~/.ssh/config
Host github_main #修正点(1)任意でOK
  HostName github.com
  IdentityFile ~/.ssh/github_main_rsa #修正点(2)先ほど作ったもSSHキーの生を指定
  User git
  Port 22
Host github_sub #修正点(3)任意でOK
  HostName github.com
  IdentityFile ~/.ssh/github_sub_rsa #修正点(4)先ほど作ったもSSHキーの生を指定
  User git
  Port 22

接続テスト

接続テスト行います、「github_main」と「github_sub」は前段のconfigファイルの修正でHostのところに設定したものを記載してください。無事接続できたら英語で「SSH接続でgithubに連携できたよ、だけどgthubはShellでのアクセスに対応してないよ」と出ます。

% ssh -T github_main
% ssh -T github_sub

git cloneする

ホスト名をconfigファイルで自分で記載したものに書き換えてgit cloneを実行します。正しく設定できていれば無事ローカルにディレクトリが生成されて複数アカウントでの接続成功です。

shell.
git clone git@「configに設定した一つ目のHost」:『メインアカウントのID』/「レポジトリ名」.git
shell.
git clone git@「configに設定した一つ目のHost」:『サブアカウントのID』/「レポジトリ名」.git

トラブルシュート

・使っているRSAを確認する
・id_rsaを上書きしていないか確認
・Clone時のホスト名を確認する
・Configに全角が入っていないか


参考サイト

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?