複数のGitHubアカウントを使い分けるために、SSHキーとSSHの設定ファイルを使用してアカウントの切り替えを行う方法を紹介します。会社用と個人用を想定。
1. SSHキーの生成
まず、各アカウント用に異なるSSHキーペアをホームディレクトリーで生成します。
"アカウントのメールアドレス"は会社用でGitHubアカウントに登録している、emailアドレスに置き換えてください。
ssh-keygen -t ed25519 -C "アカウントのメールアドレス" -f ~/.ssh/id_ed25519_company
このコマンドを実行し、会社用のSSHキーペアを生成します。同様に、個人用にもSSHキーペアを生成します。
"アカウントのメールアドレス"は個人用でGitHubアカウントに登録している、emailアドレスに置き換えてください。
ssh-keygen -t ed25519 -C "アカウントのメールアドレス" -f ~/.ssh/id_ed25519_personal
2. SSHの設定ファイルの作成
SSHの設定ファイル(~/.ssh/config)を作成または編集します。
code ~/.ssh/config
[補足]VSCodeエディターで行っていますが、お好みのエディターで大丈夫かと思います。
以下のような内容を記述します。各項目は自身の環境に合わせて適宜変更してください。
# 会社アカウントの設定
Host github.com-NicName
HostName github.com
User git
IdentityFile ~/.ssh/id_ed25519_company
# 個人アカウントの設定
Host github.com-NicName
HostName github.com
User git
IdentityFile ~/.ssh/id_ed25519_personal
上記の例では、会社用の設定と個人用の設定を追加しています。
NicNameやHostNameは実際のGitHubに登録してあるニックネーム、ホストネームに置き換えてください。
3. GitHubに公開鍵を登録
生成したSSHキーの公開鍵をGitHubに登録します。
GitHubのウェブサイトにログインし、右上のアバターをクリックしてドロップダウンメニューを表示します。
「Settings」を選択し、左側のメニューから、「SSH and GPG keys」を選択します。
「New SSH key」または「Add SSH key」をクリックし、公開鍵を登録します。
タイトルに適切な名前を入力(例えば、MyCompanyKeyなど)し、公開鍵の内容を貼り付けます。
「Add SSH key」または「Add key」をクリックして、公開鍵を登録してGitHubの設定は完了です。
4. アカウントの切り替え方法
.zshrcファイルの編集
ターミナルを開き、.zshrcファイルを編集します。
code ~/.zshrc
以下のコードを.zshrcファイルの適切な場所に追加します。
# 会社アカウント
function gitCo() {
git config --global user.name "[***]" # ***には会社アカウントのusername
git config --global user.email "[***]" # ***には会社アカウントのemailアドレス
echo "Switched to Company Account" #アカウントを切り替えると表示される内容
}
# 個人アカウント
function gitPe() {
git config --global user.name "[***]" # ***には個人用のusername
git config --global user.email "[***]" # ***には個人用のemailアドレス
echo "Switched to Personal Account" #アカウントを切り替えると表示される内容
}
上記のコードでは、gitCo関数とgitPe関数を定義しています。(この関数は自分でわかりやすい名をつけてよい。ターミナルで切り替えのために入力する関数。)それぞれの関数は、会社用のアカウントと個人用のアカウントの設定を行います。***の表示箇所は"会社用のユーザー名"や"会社用のメールアドレス"、"個人用のユーザー名"や"個人用のメールアドレス"は、実際のアカウント情報に置き換えてください。
ファイルを保存してエディタを閉じます。
.zshrcファイルの変更を反映させるために、以下のコマンドをターミナルで実行します。
source ~/.zshrc
5. アカウントの切り替え
ターミナルで以下のコマンドを実行して、アカウントを切り替えます。
職場用アカウントに切り替え。
gitCo
"Switched to Company Account"と表示され、切り替え成功。
個人用アカウントに切り替え。
gitPe
"Switched to Personal Account"と表示され、切り替え成功。
GitHubのターミナルでのアカウント切り替え方法は、以上となります。
ご観覧ありがとうございました!