いつものようにGit操作をしていたら、以下のようなエラーが出現しました。
remote: 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://github.com/hogehoge/fugafuga.git/': The requested URL returned error: 403
『なんやなんや...?』
ああ、、そういえばGitHubでは2021年8月13日にパスワード認証が廃止されたのでした。
これにより今後はベーシック認証ができなくなり、認証が必要なGitHub操作ではトークンベースの認証が必要となりました。
すなわち、「今までのログインパスワード」の代わりに「個人アクセストークン」を使用する必要があります。
今回の変更により代用となる認証方法は
- 個人アクセストークンによるHTTPS
- SSH
などが挙げられます。
今回はSSHについては割愛し、「個人アクセストークンによる認証」について記します。
解決する手順
- GitHubの個人アクセストークンの生成・取得
- 認証情報を更新する
1. GitHubの個人アクセストークンの生成・取得
GitHubの「Personal access tokens」の設定画面を開きます。
設定済みの個人アクセストークンの一覧画面が表示されます。
ここでは新しい個人アクセストークンを作成するために右上の「Generate new token」を選択します。
新しく生成する個人アクセストークンの名前とスコープを決定します。ここではrepo
をスコープに定めて作成します。
※より詳細なスコープの説明に関してはこちらを参照。
「Generate token」を押し、トークンの作成を行います。
トークンが作成できました。
なお、ここで生成され表示されたトークン文字列は別ページに遷移するなどすると見られなくなります。
コピーなどで保存しておくことを強く推奨します。
これで個人アクセストークンの生成ができました。
今後は、git clone
などの操作でパスワードを求められた場合には今回取得した個人アクセストークンを使用するようにしてください。以前までのログインパスワードでは無効となります。
$ git clone https://github.com/username/repo.git
Username: your_username
Password: your_token
2. 認証情報を更新する
git push
などの操作をしてもユーザ名とパスワードの入力が求められない場合があります。これは情報がコンピュータにキャッシュされていることが原因だと考えられます。
GitHubを使用している多くのユーザは、このような状態になっているのではないでしょうか。
そこで古いパスワードを今回作成したトークンに更新するため、キーチェーンにて情報の更新を行います。
ここでは、macOSのキーチェーンから認証情報を更新します。
command
+space
を押し「キーチェーンアクセス」と入力しページを開きます。
次に右上の検索で「github.com」と検索して、種類が「インターネットパスワード」となっているものを開きます。
ここで「パスワードを表示」をクリックし、既に入力されているパスワードを消去して先ほど取得した「個人アクセストークン」に置き換えて保存します。
これでパスワード情報の更新は完了です。
git fetch
などの操作で確認してみてください。
最後に
初投稿になります。
分かりにくい表現や間違っている箇所など多々あるかもしれませんが、優しい眼差しと鋭いマサカリをお待ちしております。