どこにでもいる30代SEの学習ブログ

主にプログラミング関連の学習内容。読んだ本の感想や株式投資についても書いてます。

GitHubでパスワード認証が廃止されるので二要素認証とトークン認証の設定方法をまとめた

GitHubのパスワード認証が2021/08/13以降、受け付けなくなるそうです。まだ期限まで時間はありますが、今のうちに対処しておくことにしました。

gigazine.net

やることは2点です。

  • 二要素認証を有効にする
  • トークンを作成する

[1] 二要素認証を有効にする

[1-1] 設定画面へ移動する

GitHubにブラウザでアクセスし[Settings]を選択します。

f:id:predora005:20210131201353p:plain

[Account security]を選択します。

f:id:predora005:20210131201358p:plain

画面中央のTwo-factor authenticationの中から[Enable two-factor authentication]をクリックします。

f:id:predora005:20210131201403p:plain

パスワードを入力し、次の画面に進みます。

f:id:predora005:20210131201414p:plain

[1-2] 二要素認証の方法を選択する

続いて、二要素認証の方法を選択します。アプリSMSの2種類から選択できます。

アプリは、スマホなどのモバイル端末のアプリで認証コードを取得する方法です。私は「Google Authenticator」を使用しています。

SMSは、携帯のショートメッセージに認証コードが送られてくる方法です。

私はアプリの方を選んだので、アプリの設定方法を紹介します。

f:id:predora005:20210131201417p:plain

[Set up using an app[を選択すると、リカバリーコードが表示されます。リカバリーコードは二要素認証が行えなくなった場合に使用します。この画面を消すと取得できなくなるので[Download]や[Copy]を用いて保存しておきます。

f:id:predora005:20210131201436p:plain

次の画面では、QRコードが表示されます。アプリでQRコードをスキャンして、認証情報をアプリに登録します。登録できたら、アプリに表示された6ケタの認証コードを入力します。入力後[Enable]を押せば、無事に設定完了です。

f:id:predora005:20210131201441p:plain

[2] トークンを作成する

二要素認証と同様にAccount settings画面に移動し、[Developer settings]を選択します。

f:id:predora005:20210131201459p:plain

[Personal access tokens]を選択します。

f:id:predora005:20210131201504p:plain

[Generate new token]をクリックします。

f:id:predora005:20210131201507p:plain

[Note]に何に使用するトークンなのかを入力し、[Select scopes]でトークンの適用範囲を選択します。私はリポジトリへのアクセスにのみ使用するため「repo」を選択しました。

f:id:predora005:20210131201510p:plain

次の画面に進むとトークンが表示されます。この画面から移動すると二度とトークンが確認できないので、保存しておきましょう。

f:id:predora005:20210131201515p:plain

[3] 試しにpushしてみる

従来のパスワード認証でpushしてみます。すると、認証エラーで失敗しました。

$ git push
Username for 'https://github.com': {アカウント名}
Password for 'https://{アカウント名}@github.com': 
remote: Invalid username or password.
fatal: Authentication failed for 'https://github.com/{アカウント名}/{リポジトリ名}/'

続いて、トークン認証を試します。トークン認証ではパスワード欄にトークンを入力します。

$ git push
Username for 'https://github.com': {アカウント名}
Password for 'https://{アカウント名}@github.com': 
Enumerating objects: 9, done.
Counting objects: 100% (9/9), done.
Delta compression using up to 2 threads
Compressing objects: 100% (3/3), done.
Writing objects: 100% (5/5), 731 bytes | 731.00 KiB/s, done.
Total 5 (delta 2), reused 0 (delta 0)
remote: Resolving deltas: 100% (2/2), completed with 2 local objects.
To https://github.com/{アカウント名}/{リポジトリ名}/
   ... (省略) ...

トークン認証で、pushできました。

参考文献