できない.dev

git clone が「Repository not found」で失敗する(private/認証)

remote: Repository not found は、リポジトリ名が違うか、private リポジトリへのアクセス権・認証が通っていないときに出る。
URL の綴り、認証方式(PAT/SSH)、アカウントの所属を順に確認する。

#github#clone#repository-not-found#authentication#private

公開:

要約

remote: Repository not found. は GitHub が「そのリポジトリは存在しないか、あなたには見えない」と返している状態。
public なら綴り違い、private なら認証・権限不足がほとんど。
private の存在自体を秘匿するため、権限が無くても 404 相当を返す仕様(Troubleshooting cloning errors)。
まず URL を確認し、次に認証が通っているかを見る。

よくある原因

  1. 綴り・オーナー違い: リポジトリ名やユーザー/Organization 名が間違っている、または別アカウント所有でアクセス権が無い。
  2. 未認証の private: private リポジトリに、ログインしていない・権限の無い資格情報で接続している。
  3. 失効した PAT: HTTPS で期限切れ・スコープ不足のトークンを使っている(GitHub はパスワード認証を廃止済み)。
  4. SSH 鍵未登録: 鍵が GitHub に無く、匿名扱いになって「存在しない」ように見える。

解決策

1. URL を確認する

推測でタイプせず、リポジトリページから clone URL をコピペする。

git clone https://github.com/OWNER/REPO.git

2. HTTPS は PAT で認証する

パスワード認証は使えないため、Personal Access Token をパスワード欄に入力する(または資格情報ヘルパに保存)。

git remote -v   # 現在の URL を確認
git remote set-url origin https://github.com/OWNER/REPO.git

3. SSH は鍵と SSO を確認する

鍵を登録し、疎通を確認する。
Organization が SAML SSO 必須なら、その鍵・トークンを Authorize する。

ssh -T git@github.com
# Hi USERNAME! ... と返れば認証成功

この記事は役立ちましたか?