GitHub 403 Error 解決方法

ある日、GitHubでpushすると、、、

ユーザー名とパスワード(アクセストークン)を入力を要求されたのち

remote: Permission to ユーザ名/リポジトリ名.git denied to
fatal: unable to access 'https://github.com/ユーザ名/リポジトリ名.git/': The requested URL returned error: 403

となり、エラーとなったので、解決方法を紹介します。

The requested URL returned error: 403

ネットサーフィンをしていると

このようなページをみたことがあるかもしれません。

このエラーは、403番のエラーで、アクセスしているページは存在するが、何かしらの理由で閲覧を禁止されています

今回のGithubのエラーもこの403番のエラーになります。

つまり、このリポジトリにpushする権限は、あなたにはありませんよという意味になります。

Emailとユーザー名を確認

ほかの記事でも書いてあることですが、コマンドライン上でgit config --listとすることで、

登録されている情報が出力されます。

そこに、user.emailとuser.mailがない、或いは違う場合、githubアカウントのEmailとユーザー名を設定しましょう。

ユーザー名は、GitHubのプロフィールのURL(https://github.com/ユーザー名)で確認しましょう。

また、Emailは、Setting->Emailsで確認できます。

$ git config --global user.name "ユーザー名"
$ git config --global user.email メールアドレス

再度、設定されているかgit config --listで確認しましょう。

$ git config --list
user.email=メールアドレス
user.name=ユーザー名

私の場合、しっかり設定されていました。

PC側の資格情報マネージャーによってユーザーを認証

Githubの403errorを探していると、

Windowsの資格情報でエラーが発生するケースがあるらしいです。

$ git config credential.helper 
manager

となった場合、資格情報を削除することで解決するとのこと。

詳しくは、https://qiita.com/mtc465/items/c2e8472f797e9f5bbc43

私の場合、managerとはならなかったので該当せず。。。

誤ったパスワードの可能性

403エラーからパスワードが違う可能性がありました。

ここでのパスワードは、アクセストークンになります。

GitHubは、2021年8月からアクセストークンに切り替えました。

アクセストークンを確認するには、Settings->Developer settting->Personal access tokens -> Tokens(classic)

と進んでください。

私の場合、以前アクセストークンを作成していたため、

アクセストークンをRegrerateして、コマンドライン上で入力していました。

しかし、

アクセストークンのオプションであるスコープを指定していませんでした。

Select scopesは、アクセストークンの権限範囲を設定します。

今回、ここでチェックしていないため、何も権限をもたないアクセストークンを利用していたため、403番のエラーが発生したというわけです。

リポジトリの基本的な操作をしたい場合、repoにチェックを入れて、アクセストークンを生成しましょう。

まとめ

github 403エラー

email、ユーザー名の確認

Windowsマネージャーの資格情報の削除

アクセストークンのScope確認