
背景
セキュリティの観点からGitHubでもMFAを利用しようと思い設定してみました。
設定方法についてはこちらを参考にしてスムーズに行うことができました。
サインアウト→サインインもできることを確認して、VSCodeからgit pullしようとしたところ、エラーが発生しました。
1 | $ git pull |
同じようなことがなんども起こりそうなのでメモしておきます。
personal access tokenを取得する
こちらに記載があるように、コマンドラインの認証にはパスワードではなくPersonal access tokenが必要でした。まずはこちらを取得します。
先ほどのドキュメントのようにコマンドラインからリポジトリにアクセスするための権限のみ設定します(repoにチェックを入れるだけにします)
PATが作成されるので、どこかに書き留めておきます。
personal access tokenを利用する
コマンドラインから利用できるかを試してみます。利用するにはリモートのURLがHTTPSであること、URLにユーザー名、パスワードを設定することが必要となります。
設定のために.git/configを編集します。変更されているかどうかを確認します。
1 | $ git config remote.origin.url |
変更されていることを確認しました。
試しにgit pullしてみます。
1 | $ git pull |
無事認証されました。
おまけ
MFAを設定後、他の人が作成してくれたPullRequestをレビューしていてApproveしようとしたところ、以下のような画面が表示されました。

なんだろうと思って調べてみると、MFAの設定をきっかけにこうなる人が多いようです。
ぼくは別のブラウザ(Vivaldi)でApproveするとうまくいきました。
まとめ
今回はpersonal access tokenの設定を行なってみました。こちらにあるように、2021年8月13日からパスワード認証がサポートされなくなります。余裕を持って対応できてよかったです。