古い GitHub アカウントを Windows 環境から完全除去する手順 — gh CLI / Windows 資格情報マネージャ / SSH 鍵の 3 経路を綺麗にする (2026年版)

過去に別の GitHub アカウントで作業していた Windows 環境を、個人 GitHub アカウントだけが見える状態に切り替えたいケースは意外と多いです。複数アカウント運用をやめるとき、副業を本業に切り替えるとき、開発端末を引き継いだときなど。

私は AI × ソロ起業を始めるとき、Windows のあちこちに古い GitHub 認証情報が残っていることに気づきました。具体的には:

  • gh CLI に古いアカウントでログインしたまま
  • Windows 資格情報マネージャに古い PAT (Personal Access Token) が保存されている
  • ~/.ssh/config に古い Host エントリが残っている (これは無害だが整理対象)

このまま個人 GitHub で push すると、コミットの author が古いアカウントになる事故が起きます。3 経路を綺麗にして、個人 GitHub だけが Windows から見える状態 に切り替える手順を書きます。所要 30分。

目次

目次

  1. なぜ 3 経路ある — 認証情報の保存場所マップ
  2. gh CLI からのログアウト
  3. Windows 資格情報マネージャから PAT を削除
  4. 個人 GitHub 用 SSH 鍵に統一
  5. remote URL を SSH 形式に変更
  6. 動作確認 (個人アカウントで commit が走るか)

1. なぜ 3 経路ある — 認証情報の保存場所マップ

GitHub への Windows からの認証経路は実質 3 つあります:

経路 保存場所 用途
gh CLI (GitHub 公式 CLI) gh CLI の内部設定ファイル + Windows 資格情報マネージャ gh pr create 等の API 操作
Git over HTTPS Windows 資格情報マネージャ (Git Credential Manager Core) git push (HTTPS remote の場合)
Git over SSH ~/.ssh/ の鍵ファイル + ssh-agent git push (SSH remote の場合)

gh logout だけやっても、Windows 資格情報マネージャに残った PAT が Git Credential Manager Core で再利用されてしまいます。3 経路すべて潰す 必要があります。

2. gh CLI からのログアウト

PowerShell で:

PS> gh auth status
github.com
  ✓ Logged in to github.com account old-account-name (...)

PS> gh auth logout
? What account do you want to log out of? github.com
✓ Logged out of github.com account old-account-name

その後、個人アカウントでログインし直す:

PS> gh auth login
? What account do you want to log into? GitHub.com
? What is your preferred protocol for Git operations on this host? SSH
? Generate a new SSH key to add to your GitHub account? No (既に作ってある)
? How would you like to authenticate GitHub CLI? Login with a web browser

ブラウザでワンタイムコードを入力 → 個人アカウントでログイン。

PS> gh auth status
github.com
  ✓ Logged in to github.com account your-personal-handle

3. Windows 資格情報マネージャから PAT を削除

コントロール パネルユーザー アカウント資格情報マネージャーWindows 資格情報」 を開く。

一覧から git:https://github.comgithub.com で古いアカウントの PAT が登録されているエントリを探して、「削除」 をクリック。

PowerShell でもできます:

PS> cmdkey /list | Select-String github
PS> cmdkey /delete:git:https://github.com

複数エントリある場合は順次削除。自分が削除しようとしているのが古いアカウント分かどうかcmdkey /list の出力で確認してから消すこと。

4. 個人 GitHub 用 SSH 鍵に統一

旧い SSH 鍵が ~/.ssh/ に残っているはずです。古い鍵 (例: id_ed25519 一般名で作っていた場合) は削除し、個人 GitHub 用に 専用ラベルの鍵を新規生成 します:

PS> ssh-keygen -t ed25519 -C "your-email@example.com" -f $HOME\.ssh\github_id_ed25519

公開鍵を個人 GitHub に登録 (Settings → SSH and GPG keys → New SSH key)。

~/.ssh/config に Host エントリを書く:

Host github.com
    HostName github.com
    User git
    IdentityFile ~/.ssh/github_id_ed25519
    IdentitiesOnly yes

IdentitiesOnly yes は重要で、これを書かないと OpenSSH が登録済みの他鍵 (古い鍵が残っている場合) を順番に試してしまい、誤った鍵で認証されたり rate limit を消費したりします。

旧鍵 (例: id_ed25519) はもう不要なので削除:

PS> Remove-Item $HOME\.ssh\id_ed25519
PS> Remove-Item $HOME\.ssh\id_ed25519.pub

5. remote URL を SSH 形式に変更

既存リポジトリの remote URL が HTTPS のままだと、push 時に Windows 資格情報マネージャを再度呼び出してしまいます。SSH 形式に切り替えます:

PS> cd C:\Users\user\dev\projects\your-repo
PS> git remote -v
origin  https://github.com/your-personal-handle/your-repo.git (fetch)
origin  https://github.com/your-personal-handle/your-repo.git (push)

PS> git remote set-url origin git@github.com:your-personal-handle/your-repo.git
PS> git remote -v
origin  git@github.com:your-personal-handle/your-repo.git (fetch)
origin  git@github.com:your-personal-handle/your-repo.git (push)

複数リポジトリ管理している場合は、すべてに対して同じ作業を行います。

6. 動作確認 (個人アカウントで commit が走るか)

最終確認: 個人アカウントの commit author で push できているか。

PS> git config user.name "Your Personal Name"
PS> git config user.email "your-email@example.com"

PS> git commit --allow-empty -m "chore: verify github account switch"
PS> git push

GitHub 上のコミット履歴で author が個人アカウントのアバター + 名前 になっていれば成功です。古いアカウントのアバターが出ていたら、git config user.email を確認・上書きします。

まとめ

GitHub 認証情報の整理は、3 経路 (gh CLI / Windows 資格情報マネージャ / SSH 鍵) を順に潰すのがポイントです。

放置すると、個人アカウントで作業しているつもりが古いアカウントの commit になっていたり、PAT が想定外に流出したりするリスクがあります。アカウント切り替えのタイミングで 30分の整理時間を確保するのが推奨です。

PAT (Personal Access Token) は 2024年以降 SSH 認証より priority が下がった ため、今は 個人アカウントは SSH 鍵だけで運用するのが定石 です。Windows 資格情報マネージャからは GitHub 関連エントリは全部消して構いません。


次に読むおすすめ

CTA

X 会社アカウントをフォロー: @ai_shacho_jp — 自動化スクリプト・実装ログを毎日投稿しています。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

目次