2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

GitHubアカウントの切り替え

Last updated at Posted at 2025-04-04

はじめに

会社のプロジェクトは会社のGitHubアカウントで、個人プロジェクトは個人のアカウントで管理するのが一般的です。
しかし、2つのアカウントを切り替えるのは手間がかかり、SSHキーの衝突によって認証エラーが発生することもよくあります。
この記事では、SSHの設定によってアカウントの切り替えを自動化し、安定して管理する方法をご紹介します。

デバッグ:どのSSHキーが使用されているか確認する

SSH接続時に使用されているキーを確認するには、以下のコマンドを実行します:

ssh -vT git@github.com
# 出力:...
#      debug1: Offering public key: /Users/you/.ssh/**id_ed25519_personal**
#      ...

このログから、GitHubに提供されているキーがどれかを確認できます。
もし意図したアカウントのキーと一致していない場合は、設定の修正が必要です。

SSHキーの作成

アカウントごとに別々のSSHキーを作成します:

個人用アカウント

ssh-keygen -t ed25519 -C "me@example.com" -f ~/.ssh/id_ed25519_personal

会社用アカウント

ssh-keygen -t ed25519 -C "me@company.com" -f ~/.ssh/id_ed25519_work

GitHubに公開鍵を登録する

各アカウントのGitHubのSSH設定ページで、上記で生成しt該当の公開鍵(.pubファイル)を登録します。

Screenshot 2025-04-03 at 23.49.20.png

~/.ssh/configの設定

SSH接続時に使用するキーを明示的に指定することで、衝突を防ぎます:

個人アカウント用

Host github-personal
HostName github.com
User git
IdentityFile ~/.ssh/id_ed25519_personal
IdentitiesOnly yes

会社アカウント用

Host github-work
HostName github.com
User git
IdentityFile ~/.ssh/id_ed25519_work
IdentitiesOnly yes
  • HostはGitのリモートURLで使用する別名です。
  • IdentitiesOnly yesにより、指定したキーのみが使用され、エージェントやデフォルトのキーは無視されます。

認証テスト

設定が正しく行われているか、以下のコマンドで確認します:

ssh -T git@github-personal 
# 出力:Hi personal-github-username! You've successfully authenticated, but GitHub does not provide shell access.
ssh -T git@github-work
# 出力:Hi work-github-username! You've successfully authenticated, but GitHub does not provide shell access.

プロジェクトごとのGitリモート設定

各プロジェクトで正しいSSHキーが使用されるように、リモートURLを設定します。

個人プロジェクトの場合:

git remote set-url origin git@github-personal:your-username/your-repo.git

会社プロジェクトの場合:

git remote set-url origin git@github-work:company-org/repo.git

これにより、それぞれのプロジェクトが自動的に正しいSSHキーを使ってGitHubにアクセスします。

2
1
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
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?