GitHub の 2FA:認証アプリの設定方法
執筆:Novaz チーム · 更新日:2026年10月29日
Novaz の手順はバージョン 1.0.5 で確認済み
このページは英語のガイドを翻訳したものです。サービスのウェブサイト上のボタンやメニューは、日本語では名称が多少異なる場合があります。
このページの内容
GitHub アカウントには、リポジトリ、Issue、プルリクエストがあります。そして GitHub では、2要素認証(2FA)を使うかどうかを自分で選べないことがよくあります。2023年3月以降、GitHub はコードをコントリビュートするアカウントに 2FA を必須にしており、Organization もメンバーに 2FA を必須にできます。GitHub は、ドキュメントで TOTP アプリと呼んでいる認証アプリをメインの方法として推奨しています。最初の設定に使えるもう1つの方法は SMS だけで、パスキー、セキュリティキー、GitHub Mobile はあとから追加できます(GitHub、GitHub)。このガイドでは iPhone の Authenticator App - Novaz を使いますが、どの認証アプリでも手順は同じです。
このガイドの確認方法: GitHub の手順は、下にリンクのある GitHub Docs と GitHub Blog に基づいており、2026年10月20日に確認しました。GitHub のアカウントで実際に試してはいないため、ラベルが少し違う場合があります。Novaz の手順は、アプリのバージョン 1.0.5 で確認しています。
自分のアカウントで 2FA は必須?
GitHub は、アカウントの活動内容で対象を選びます。アプリやアクションの公開、リリースの作成、Organization の所有、パッケージを公開しているリポジトリや GitHub が重要度が高いとみなすリポジトリへのコントリビュートなどです。対象となったアカウントにはメールとバナーで通知が届き、45日以内に 2FA を設定する必要があります。さらに7日間の猶予期間があります。それを過ぎると、2FA をオンにするまで GitHub.com を利用できなくなります。会社のシングルサインオンを使っていても免除されません(GitHub)。
GitHub に電話番号を伝える必要はありません。認証アプリだけで十分です。GitHub が SMS を提供していない場合は唯一の選択肢でもあり、安全な方法だけを許可している Organization でも安全な方法として認められます(GitHub)。
認証アプリで 2FA をオンにする
GitHub.com での手順です(GitHub)。
- 右上のプロフィール写真をクリックし、Settings(設定)をクリックします。
- サイドバーの Access(アクセス)セクションで Password and authentication(パスワードと認証)をクリックします。
- Two-factor authentication(2要素認証)の下で Enable two-factor authentication(2要素認証を有効にする)をクリックします。
- Scan the QR code(QR コードをスキャン)の下に QR コードが表示されます。Novaz で +、QR コードをスキャン の順にタップします。QR コードが同じ iPhone に表示されている場合は、スクリーンショットを撮って 写真を選ぶ を使います。同じ iPhone で QR コードをスキャンする方法をご覧ください。
- スキャンできない場合は、setup key(セットアップキー)をクリックすると、シークレットがテキストで表示されます。Novaz で +、キーを手動で入力 の順にタップし、設定キー として入力します。GitHub は6桁・30秒・SHA-1 を使っているので、手入力したキーでも使えます。2FA の設定キーとは?をご覧ください。
- Novaz のコードを Verify the code from the app(アプリのコードを確認)の下に入力します。
- Save your recovery codes(リカバリーコードを保存)の下で Download(ダウンロード)をクリックし、I have saved my recovery codes(リカバリーコードを保存しました)をクリックします。このクリックで 2FA がオンになります。
28日間のチェックアップ
2FA を新しく設定すると、28日間のチェックアップが始まります。その期間内に 2FA を使ったサインインを1回完了すれば終了です。完了しなかった場合は、28日目に、開いているセッションのいずれかで 2FA を求められます(GitHub)。目的は、正しく設定されていない認証アプリを見つけることです。確認に通らない場合は、ロックアウトされずに 2FA を設定し直せる近道が用意されています(GitHub)。簡単に済ませるには、設定後すぐに一度サインアウトし、Novaz のコードでサインインし直してください。
リカバリーコード
xxxxx-yyyyy 形式の使い捨てのコードが16個発行され、既定では github-recovery-codes.txt として保存されます(GitHub、GitHub)。GitHub は、クラウドにバックアップする認証アプリを推奨しています(GitHub)。Novaz では iCloud バックアップ(PRO)がそれにあたります。自分で書き出すバックアップファイルも、最新の状態に保っていれば役立ちます。どちらもなければ、キーは iPhone にしかありません。iPhone がなくなり、バックアップもないか古くなっている日に備えて、いずれにしてもこれらのコードは保管しておきましょう。GitHub は、保管先としてパスワード管理アプリを勧めています。
あとから確認するには、Password and authentication の Recovery codes(リカバリーコード)の横にある View(表示)をクリックし、Download、Print(印刷)、Copy(コピー)を使います。Generate new recovery codes(新しいリカバリーコードを生成)を使うと古いセットは無効になり、2FA をオフにしてからオンにした場合も同様です。認証アプリを切り替えても無効にはなりません(GitHub)。2FA のバックアップコードをご覧ください。
GitHub がコードを求めるとき
GitHub は、サインイン時にパスワードのあとでコードを求めます。再び求められるのは、サインアウトしたとき、新しいデバイスを使うとき、セッションの期限が切れたとき、または重要な操作をするときだけです(GitHub)。重要な操作には、メールアドレスの変更、SSH キーの追加、個人用アクセストークンの作成、リカバリーコードの表示などがあります。そうした操作のあと2時間は、再びコードを求められることはありません(GitHub)。
コマンドラインの Git がコードを求めることはありません。HTTPS では個人用アクセストークンを使い、SSH はこれまでどおり使えます(GitHub)。
GitHub がコードを受け付けない場合
間違ったコードを入力すると、Two-factor authentication failed(2要素認証に失敗しました)と表示されます。GitHub が挙げている確認事項は、アプリと設定した項目のコードを読んでいるか、iPhone の日付と時刻が自動設定になっているか、新しいコードをスペースなしですぐに入力したか、です(GitHub)。iPhone では 設定 › 一般 › 日付と時刻 › 自動設定 です。Novaz は時計が15秒以上ずれていると警告します。
同じページで、GitHub サポートは「cannot assist with troubleshooting your 2FA methods」(2FA の方法のトラブルシューティングには対応できない)と述べています(GitHub)。認証アプリのコードが使えない?をご覧ください。
新しい iPhone に移行する
2FA をオフにする必要はありません。Password and authentication の Two-factor methods(2要素認証の方法)の下で、認証アプリの横にある Edit(編集)をクリックします(複数の方法がある場合は、先にその横のメニューを開きます)。新しい iPhone の Novaz で新しい QR コードをスキャンし、コードを入力して Save(保存)をクリックします。リカバリーコードは変わりません(GitHub)。そのあとで、古い iPhone の Novaz から GitHub を削除します。アカウントを開いて アカウントを削除 をタップしてください。これは古い iPhone を手放す前に行います。iCloud バックアップか Novaz のバックアップファイルがあれば、代わりに新しい iPhone でアカウントを復元でき、GitHub の項目もそのまま使えます。認証アプリを新しい iPhone に移行する方法をご覧ください。
認証アプリを失った場合
GitHub の選択肢は、順に次のとおりです(GitHub)。
- 追加しておいた 別の方法:パスキー、セキュリティキー、GitHub Mobile、SMS。
- リカバリーコード。 パスワードのあと、More options(その他のオプション)の下で 2FA recovery code(2FA リカバリーコード)を選び、コードを入力して Verify(確認)をクリックします。
- アカウントの復旧。 同じ画面で Begin account or email recovery(アカウントまたはメールの復旧を開始)を選び、I understand, get started(理解しました。開始する)を選びます。GitHub からメールで届くワンタイムパスワードを入力し、Verify with this device(このデバイスで確認。以前そのデバイスでサインインしたことがある場合)、SSH key(SSH キー)、Personal access token(個人用アクセストークン)のいずれかで本人であることを証明します。GitHub サポートがリクエストを審査し、3営業日以内にメールで返信します。
パスワードも忘れた場合は、まずパスワードのリセットから始めます。そのあと、同じ選択肢が表示されます。
3つ目の方法は、事前に準備していた場合にしか使えません。GitHub は、認証キーとして追加した SSH キー、または repo スコープを持つ classic の個人用アクセストークンを勧めています(GitHub)。Cookie を毎日消去しないでください。GitHub は Cookie で、以前使ったデバイスを認識しています(GitHub)。
どれも使えない場合、アカウントは完全に失われます。サポートはアカウントを復元せず、身分証明書による確認も受け付けません(GitHub)。ただし、メールアドレスの紐付けを解除して、新しいアカウントで使うことはできます。認証アプリが入った iPhone をなくしたらをご覧ください。
2FA をオフにする
Password and authentication で3つの点のメニューを開き、Disable two-factor authentication(2要素認証を無効にする)を選んで確定します。2FA を必須にしている Organization にはアクセスできなくなります。また、GitHub によって 2FA の必須対象に選ばれている場合は、オフにすること自体ができません(GitHub)。アプリを切り替えたいときは、オフにせず方法を編集してください。
GitHub の公式ヘルプ
- About mandatory two-factor authentication
- Configuring two-factor authentication
- Accessing GitHub using two-factor authentication
- Configuring two-factor authentication recovery methods
- Changing your two-factor authentication method
- Troubleshooting two-factor authentication issues
- Recovering your account if you lose your 2FA credentials
- GitHub Account Recovery Policy
- Disabling two-factor authentication for your personal account
- Sudo mode
- Requiring two-factor authentication in your organization
- Raising the bar for software security: GitHub 2FA begins March 13(GitHub Blog)