🔳
GitHubで「Repository not found」が出たときの原因と解決法
はじめに
個人用のGitHubリポジトリに push しようとしたとき、以下のようなエラーが出ることがあります。
$ git push -u origin main
ERROR: Repository not found.
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
原因は SSHキーの競合 でした。
私の場合、会社用GitHubアカウントに紐づくSSHキーが優先され、個人用リポジトリへのアクセスができない状態になっていました。
現象の確認
1. SSH接続の確認
$ ssh -T git@github.com
出力例:
Hi <USERNAME>! You've successfully authenticated, but GitHub does not provide shell access.
- 「Hi <USERNAME>!」と表示されればSSH認証は成功
- ただし会社用アカウントで認証されている可能性があります
2. Gitリモートの確認
$ git remote -v
出力例:
origin git@github.com:<USERNAME>/repository.git (fetch)
origin git@github.com:<USERNAME>/repository.git (push)
- 個人用リポジトリをpushしたいのに、会社用SSHキーで接続されている場合があります
解決手順
1. 個人用SSHキーを作成
$ ssh-keygen -t ed25519 -C "personal-github"
- ファイル名例:
~/.ssh/id_ed25519_personal - 公開鍵 (
.pub) を GitHub 個人アカウントに登録 - パスフレーズは任意
2. SSH設定ファイルにホストを追加
~/.ssh/config に以下を追加します:
Host github.com-personal
HostName github.com
User git
IdentityFile ~/.ssh/id_ed25519_personal
IdentitiesOnly yes
【💡ポイント】
github.com-personal という別名をつけることで、会社用と個人用SSHを切り替えられます
ファイル構成
~/.ssh/
├── config # SSH設定ファイル(※上記で編集するファイル)
├── id_ed25519 # 会社用SSH秘密鍵
├── id_ed25519.pub # 会社用SSH公開鍵
├── id_ed25519_personal # 個人用SSH秘密鍵
├── id_ed25519_personal.pub # 個人用SSH公開鍵
├── known_hosts # 接続済みホストの鍵情報
└── authorized_keys # 自分の公開鍵を登録する場合(任意)
3. GitリモートURLを変更
リポジトリに個人用SSHを使わせるように変更します。
$ git remote set-url origin git@github.com-personal:<USERNAME>/<REPO>.git
-
<USERNAME>と<REPO>は個人アカウントとリポジトリ名に置き換えてください
4. 動作確認
$ git push -u origin main
- エラーが出なければ成功です
-
git remote -vで URL がgithub.com-personalになっていることを確認してください
SSH切り替えフロー図(イメージ)

- 会社用SSHは
IdentityFile ~/.ssh/id_ed25519を使用 - 個人用SSHは
IdentityFile ~/.ssh/id_ed25519_personalを使用 -
HostName github.comは両方同じGitHubですが、Hostを別名にすることで切り替え可能
補足
- 会社用アカウントと個人用アカウントを1台のPCで共存させたい場合は、この方法が推奨
- SSHキーは
ssh-add -lで現在ロードされているか確認可能 - Mac / Linux / Windows (Git Bash) でほぼ同じ手順で対応可能
Discussion