GitHub向けに一時的に別アカウントを設定していたときに遭遇して、割と分かりづらいパターンだったのでメモ。
だいたいは自分の認証周りの設定だと思うので、アカウントの切り替えに心当たりなければ.ssh/configやアクセスしようとしているリポジトリ名の見直しとか、鍵の作り直しを試してみた方がよいかもしれません。
スポンサーリンク
pullしたら「ERROR: Repository not found.」が発生
git pullしたら
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 -T git@github.com
で接続確認してみると、
Hi (別のユーザーID)! You've successfully authenticated, but GitHub does not provide shell access.
と、認証は通るもののなぜか別のユーザーIDが表示されていました。これだと確かにリポジトリへのアクセス権はありません。
GitHub側の公開鍵を削除する
少し前に所用で、表示されていたID(ユーザーID:Aとします)を使ってこのマシンからGitHubにアクセスしていたことを思い出し、.ssh/configなどからその設定を削除してみましたが駄目でした。
それでユーザーID:AのGitHubより、「Settings > SSH and GPG keys」に登録してある、このマシンの公開鍵を削除してみたところ、本来のアカウントで認証が通るようになりました。
.ssh/configのUserだけじゃなくて、アクセスするホストからユーザーを割り当ててたりするのでしょうかね。
しかし今回はたまたま対応できたからよかったけど、出来なかったらどうするんだろう。サポート案件になるのかな…