現象
Githubにpushしようとしたら、下記エラーがでてpushできない。
Support for password authentication was removed on August 13, 2021. Please use a personal access token instead.
remote: Please see https://github.blog/2020-12-15-token-authentication-requirements-for-git-operations/ for more information.
fatal: unable to access 'https://john-doe@github.com/john-doe/foo-repository.git/': The requested URL returned error: 403
エラーの意味
2021年8月13日からパスワード認証のサポートは終了したので、[personal access token]に変えろ、とのこと。これまでgitHub.comのログインに使用しているパスワードで認証していたのですが、このパスワードを[personal access token]に変えないといけないみたいです。
(これ、かなりの人に影響があるのでは・・?)
※注意※
当方windows環境で、Gitクライアントにsourcetreeを使用しております。
作業環境
- windows10 64bit
- sourcetree 3.4.5(内臓gitバージョン:2.30.2)
はまりポイント
- sourcetreeの認証情報が更新できない!
今回はまった原因はこれです。認証方法をpersonal access tokenに変えようにもsourcetreeが変更してくれず・・
手順
※注意※
手順6,7によりsourcetreeのユーザー設定がリセットされます。ローカルリポジトリの情報もリセットされるため、再度ローカルリポジトリはsourcetreeにAddする必要があります。当方はそれほど多くなかったのですべてAddしました。これを実施しないと認証情報が更新されないようです。
1. GitHub の自分の Settings → Developer settings → Personal access tokensでトークンを生成
下記サイトの動画をみるとわかりやすいです。
2. 生成したトークンをローカルに保存(トークンは再確認できないのでテキストファイル等で保存しておきましょう)
3. コントロールパネル → 資格情報マネージャーでWindows資格情報を選択
4.下記資格情報を削除
git:https//github.com
git:https://[アカウント]@github.com
sourcetree
から始まるものすべて
5.SourceTreeを閉じる
6.C:\Users\ユーザ名\AppData\Local\Atlassian\SourceTree\
にある下記のファイルを削除
・bookmarks.xml
・opentabs.xml
・userhosts
7.C:\Users\ユーザ名\AppData\Local\Atlassian\SourceTree.exe<ランダム文字列>\<バージョン番号>\
にある下記ファイルを削除
・user.config
8.SourceTreeを起動
9.コードをGithubにpush
10.認証情報の入力をもとめられるので、ユーザー名と、ステップ1で取得したトークンをパスワードに指定してOK
私はこれで成功しました。
さいごに
私の環境で成功した手順なので当てはまらない方もいると思いますが、参考になれば幸いです。