GitHubは現在2FAを要求しています
2024年以降、GitHubはコードを貢献するすべての開発者に二要素認証の有効化を要求しています。まだ設定していない場合、リマインダーを見ている可能性が高いです。たとえ見ていなかったとしても、やる価値があります。あなたのGitHubアカウントは、プライベートリポジトリ、デプロイメントパイプライン、決して公開したくない認証情報にアクセスできる可能性があります。
TOTPベースの2FA(認証アプリの種類)の設定に約2分かかります。以下に方法を示します。
認証コードの仕組みの背景を知りたい場合は、TOTPとは?をご覧ください。
必要なもの
- GitHubアカウント
- 認証アプリ(Google Authenticator、Authy、1Password、Bitwarden、またはTOTP対応アプリ)
ステップバイステップの設定
1. 設定を開く
任意のGitHubページの右上隅にあるプロフィール写真をクリックし、設定をクリックします。
2. 「パスワードと認証」に移動
左側のサイドバーで、「アクセス」の下にあるパスワードと認証をクリックします。
3. 「二要素認証を有効にする」をクリック
二要素認証のセクションが表示されます。有効にするボタンをクリックします。GitHubはパスワードの確認を求める場合があります。
4. 「アプリを使用して設定」を選択
GitHubは、認証アプリまたはSMSを使用するオプションを提供します。認証アプリを選びます。より安全で、携帯サービスに依存しません。
5. QRコードをスキャン
GitHubはQRコードを表示します。認証アプリを開き、新しいアカウントを追加し、スキャンします。
コードをスキャンできない場合は、「セットアップキー」をクリックして、秘密をプレーンテキストで表示します。これを認証アプリに手動で入力できます。
注意すべき1つ:GitHubは特定の形式でセットアップキーを表示します。正確にコピーしてください。アプリが期待するスペースやグループ化も含めて。ほとんどのアプリはどちらの方法でも問題なく処理します。
6. 確認コードを入力
認証アプリに6桁のコードが表示されます。GitHubに入力し、続行をクリックします。
7. 復旧コードを保存
GitHubは復旧コードのセットを生成します。これは人々が急いで通り過ぎる画面ですが、そうすべきではありません。
各復旧コードは、認証アプリへのアクセスを失った場合にログインできるようにする、一度だけ使用できるコードです。それらをダウンロード、印刷、またはパスワードマネージャーに保存します。ブラウザのダウンロードフォルダに放置しないでください。
GitHubは、設定を完了する前に、それらを保存したことを確認するよう求めます。
SSHキーと2FA
人々を驚かせる1つのこと:2FAの有効化は、HTTPS経由でのGit認証の仕組みを変更します。
2FAをオンにすると、HTTPS Git操作にGitHubパスワードを使用できなくなります。以下のいずれかを使用する必要があります:
- HTTPS用のパスワードの代わりに個人アクセストークン(PAT)
- SSHキー、2FAの影響を全く受けません
すでにプッシュとプルにSSHを使用している場合、何も変わりません。HTTPSを使用している場合は、個人アクセストークン(設定 > 開発者設定 > 個人アクセストークン)を作成し、Gitが認証情報を求めたときにパスワードとして使用する必要があります。
または、GitHub CLI(gh auth login)はこれすべてを処理し、おそらく最も手間のないオプションです。
パスキーとしての2番目の要素
GitHubはパスキーもサポートしており、これはパスワードと2番目の要素の両方として機能できます。興味がある場合は、同じ「パスワードと認証」設定ページから、認証アプリと並行して設定できます。
両方を設定すると、柔軟性が得られます。スマートフォンの電池が切れた場合、パスキーを使用できます。パスキーデバイスが利用できない場合、認証アプリを使用できます。ここでは冗長性が味方です。
設定後の2FA管理
いつでも設定 > パスワードと認証に戻って、以下が可能です:
- 復旧コードの表示または再生成(いずれかを使用した場合はこれを行う)
- 追加の認証アプリまたはセキュリティキーの追加
- フォールバックSMSの設定(最後の手段として有用)
2FAを強制する組織のメンバーである場合、2番目の要素へのアクセスを失うと、再認証するまで組織のリポジトリからロックアウトされる可能性があります。復旧コードを最新に保ちましょう。
クイックまとめ
- 設定 > パスワードと認証 > 二要素認証を有効にする
- 認証アプリを選択し、QRコードをスキャン
- 確認のため6桁のコードを入力
- 復旧コードをダウンロードして保存
- GitにHTTPSを使用している場合、個人アクセストークンまたはSSHに切り替える
2分かかりますし、GitHubはあまり長く先延ばしにすることを許可しません。
設定前にTOTPコードの仕組みを見たい場合は、2fa.zipでジェネレーターを試せます。ブラウザベースで、サーバーに何も送信しません。