Gitでいきなりpushやpullができなくなった(パスワード認証からアクセストークン認証へ)
最近、Gitでいきなりpushやpullができなくなりました。
このようなエラーがでました。
どうやら、2021年8月13日に仕様が変わったらしく、パスワード認証からアクセストークン認証へ変わったみたいです。
https://github.blog/2020-12-15-token-authentication-requirements-for-git-operations/
今回の記事では、今まで通りpushやpullができるようになるまでを解説していきます。
アクセストークン認証?
今までは、Gitアカウントを初めて作った後にターミナル上でpushやpullをしたらパスワードを求められましたよね?そして、パスワードを入力したら普通にpushやpullができたはずです。
これがパスワード認証です。
つまり、「パスワード認証 = Gitアカウントのパスワードを使って、Gitにターミナルでアクセスする」ということです。
ターミナルでアクセスする際のパスワードが今回、「Gitアカウントのパスワード」から「アクセストークン」に変わりました。
なので、「アクセストークン」を生成して、それを今までのパスワードに置き換えれば、pushやpullができるようになります。
対処方法(Mac)
1. アクセストークンを生成する
まずは、https://github.com/settings/tokensにアクセスしましょう。
右上の「Generate new token」をクリックします。
この画面でアクセストークンを生成します。
赤枠の部分を設定します。
- Note
識別名です。自分が分かればいいので何でも大丈夫です - Expiration
トークンの有効期限です。無期限はあまり推奨されないので、私は90日にしました。 - Select scopes
権限設定です。個人で利用するならとりあえず全てにチェックを入れるで大丈夫です。
最後に、一番下の緑色のボタン「 Generate token 」をクリックして保存します。
保存後は、一つ前の画面へ遷移されてトークンが作成されているのを確認できます。
以下の赤枠の部分がトークンなので、それをコピーします。
2. Macの「キーチェーンアクセス」アプリを起動
アプリを起動したら、右上の検索窓で「git」と入力します。
そうしたら、「github.com」が出てくるので、それを選択します。
このキーチェーンに、Gitをターミナルでアクセスする時のパスワードが設定(保存)されているので、先程のアクセストークンに変更します。
以下画面の「パスワードを表示」にチェックを入れて、先程のアクセストークンを入力しましょう。
最後に右下の「変更内容を保存」をクリックして保存します。
これで今まで通り、pushやpullができるようになります!
今回はMacの解説でしたが、Windowsもアクセストークンを取得までは同じで、パスワードが保存されている場所(アプリ)が違うだけなので、ぜひ試してみてください。