Git で Pull できない
久しぶりにGitをPullしようとしたらSupport for password authentication was removed on August 13, 2021. Please use a personal access token instead.
Please see https://github.blog/2020-12-15-token-authentication-requirements-for-git-operations/ for more information.
のようなメッセージが表示され、 Pull できなかったりしたことはないでしょうか?まさに今の私です。
これは GitHub において、2021年8月にパスワード認証が廃止され、代わりにアクセストークンによる認証を利用する必要があることを意味します。
頻繁に更新が行われているプロジェクトは、SSHによる認証であったりアクセストークンによる認証に移行していましたが、ほぼ眠っていた別アカウントのプロジェクトなどを何も行っていない状態でした。そのため、Gitにパスワード認証を試みてエラーを受け取った状態となっています。
今回はこの対応方法を紹介したいと思います。
パーソナルアクセストークン
もう少し詳しく説明すると、Gitを操作するためにパスワード認証を行なっていた場合、2021/8/13までにパーソナルアクセストークンによる認証へ移行する必要がありました。昨年よりずっと警告されていたものの、忘れていたり放置したりして期限を過ぎてしまったのでしょう。GitHub において、パーソナルアクセストークンを発行する必要があるので、自身のアカウントで GitHub へアクセスしましょう。そして、画面右上にあるメニューより「Settings」をクリックします。
アカウント設定の画面が表示されるので、左に並んでいるメニューの下の方に「Developer settings」があるのでクリックします。
開発者設定の画面が表示されるので、左に並んでいるメニューから「Personal access tokens」をクリックし、次に新しくパーソナルアクセストークンを作成するために「Generate new token」をクリックします。 「Note」には判りやすい名前を付けます。
「Expiration」には期限を設定します。
「Select scopes」には許可する権限をチェックします。今回の場合、リポジトリを操作するには「repo」にチェックを入れるといいでしょう。
そして最後に「Generate token」をクリックします。
これでアクセストークンの作成が完了しました。「ghp_」で始まる値がトークンです。このタイミングでしか表示されないので、忘れずにコピーしておきます。
Git 操作
では再度ローカルリポジトリで Pull してみましょう。Username, Password を入力するタイミングで、 Password 入力時に代わりにトークンを入力します。
これで正常に Pull することができるでしょう。