Skip to content

Instantly share code, notes, and snippets.

@ytsuboi

ytsuboi/2fa-cli.md

Last active Sep 1, 2020
Embed
What would you like to do?
GitHubの2段階認証を有効にした状態で、repositoryの操作をコマンドラインで行うためのメモ

二段階認証を有効にする方法

2段階認証を有効にする方法は適当にググってください。 たしか、ログインした状態で、右上のアイコンの右にある▼をクリック、Settings→Securityに「Two-factor authentication」という設定項目があるはずです。 Google Authenticatorなどの、RFC 6238 Time-Based One-Time Password Algorithmを搭載したトークン発生器を用意しておいてください。

ただし、二段階認証を有効にすると、コマンドラインでgit cloneしたり、push、pullなどの操作を行おうとすると、認証で蹴られるようになります。

二段階認証を有効にした場合のgitコマンドでの操作

二段階認証を有効にしたら、GitHubのウェブで、Personal Access Tokenを取得して、これを使います。 GitHubのCreating an access token for command-line useに書いてありますが、二段階認証を有効にしたときと同じく、ログインした状態で右上のアイコンの右にある▼をクリックし、「Personal access tokens」という項目でトークンの発行が可能です。

ここで、トークンに適当な名前を付けて発行します。トークンで操作できる範囲を選択できますが、私は今のところ「repo」だけにチェックを入れています。範囲は後で変更可能です。なお、トークンは、新規作成時には表示されますが、その後は確認することができません。作ったり消したりは面倒なので、安全に保存しておきましょう。

このトークンをgitコマンド使用時に使えば、いままでと同じようにコマンドラインでの操作ができます。

コマンド操作時に毎回トークンを入力するのは面倒

ですよね。Caching your GitHub password in Gitに、gitコマンドで保存したパスワード(トークン)を使う方法が記されています。各プラットフォーム毎に方法が記されていますので、使いたいプラットフォームのものであることを確認の上、参照してください。

macOSではキーチェーンに保存しておくことができますが、macOSに標準のgitはosxkeychain helperが付いてないのでHomebrewでgitをインストールすると良いでしょう。僕はそうしてます。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment