GitHub へソースコードを Push しようとして認証に失敗するようになって気付きました。二段階認証を使わない状態でも失敗、ブラウザでのログインは成功という状態です。 PC 環境入れ替えもあったので、 Windows には認証情報を保持していない状態で初回失敗した、という地点からのお話です。
認証に失敗
パスワード認証がぼちぼち使えなくなってくることは把握していましたが、「TortoiseGit が出すダイアログ経由(正確にはGit for Windows)で初回のパスワード認証させれば大丈夫」と考えていたのですが、ここも少し変更になったようです。
ダイアログ経由の場合、GitHub 側にアクセス用のトークンが生成されてそれを用いる形で資格情報マネージャに登録されていたので大丈夫と考えていました。
Git for Windows はバージョン 2.28 を確か使っていたのですが、この状態でも失敗しました。GitHub から「[GitHub] Action required – Password authentication in Git for Windows is no longer supported」というタイトルでメールが送られてきました。一部メール本文を引用したものが以下の通りです。
We have detected that you recently attempted to authenticate to GitHub using an older version of Git
for Windows. GitHub has changed how users authenticate when using Git for Windows, and now
requires the use of a web browser to authenticate to GitHub. To be able to login via web browser, users
need to update to the latest version of Git for Windows. You can download the latest version at:
* https://gitforwindows.org/
Git for Windows の更新
Git for windows をバージョン 2.29.2 へ更新しました。そこで以前同様 GitHub から clone をしてみたときのダイアログの状態を比較してみました。従来が左、今回新しくなったものが右です。
見ての通り、パスワード認証方式からブラウザを開いて処理する形へと変わりました。ここでブラウザを開いて、問題なければ Authorize ボタンを押します。
ボタンを押すと画面が以下の通り Success が表示され、 git による clone 処理も進行します。
自分の場合はブラウザは Chrome が開いて正常に動作しましたが、失敗する場合、ブラウザを他のものに変えてみると成功するのかもしれません。
まとめ
GitHub へのアクセスができなくなった、で調べると 2FA の話が多くヒットします。パスワード認証から切り替わる話も目にするようになってきましたが、ログイン用の画面が変わった話は見かけなかったので少々手間取りました。それで今回の記事を作成してみたのですが、誰かの役に立ったら幸いです。
重要なポイントは、 Git for Windows を最新に更新すること。 GitHub からのメールはちゃんと確認しよう、です。