ある日、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確認