2 要素認証 (2FA) を有効にすると、ブラウザーから GitHub にアクセスするときに第 2 要素を使う必要があります。 最初に 2FA を構成すると、アカウントの 2FA の方法が正しく設定されていることを確認するために、アカウントは 28 日間の検査期間に入ります。 28 日以内に 2FA を正常に実行することで、検査期間を終了できます。 28 日以内に認証しなかった場合は、既存の GitHub セッションのいずれかで 2FA を実行するように求められます。 2FA を実行して 28 日目の検査に合格できない場合は、指定されたショートカットを使って 2FA の設定を再構成し、GitHub へのアクセスを保持します。 詳しくは、「2 要素認証を設定する」をご覧ください。
API やコマンド ラインなど、他の方法を使って GitHub にアクセスする場合は、トークン、アプリケーション、または SSH キーを使って認証します。 詳しくは、「GitHub への認証方法について」をご覧ください。
Web サイトにサインインするときに 2FA を実行する
パスワードを使用して GitHub にサインインしたら、認証コードを指定するか、GitHub Mobile で通知をタップするか、セキュリティ キーを使って 2FA を実行する必要があります。
GitHub が 2FA 認証コードの入力を再度求めるのは、ログアウトした場合、新しいデバイスを使う場合、機密性の高いアクションを実行する場合、またはセッションが期限切れになった場合のみです。 機密性の高いアクションの 2FA の詳細については、「Sudo モード」を参照してください。
TOTP アプリケーションでのコード生成
TOTP アプリケーションを使用して 2 要素認証を設定することにした場合は、いつでも GitHub 用の認証コードを生成できます。 多くの場合、アプリケーションを起動するだけで新しいコードが生成されます。 個別の手順についてはアプリケーションのドキュメンテーションを参照してください。
2 要素認証を設定した後に認証アプリケーションを削除した場合は、アカウントにアクセスするために復旧コードを入力する必要があります。 多くの TOTP アプリでは、クラウドでの認証コードのセキュリティで保護されたバックアップがサポートされており、デバイスにアクセスできなくなった場合に復元できます。 詳しくは、「2 要素認証クレデンシャルをなくした際のアカウントの回復」をご覧ください。
セキュリティ キーの使用
アカウントに対してセキュリティ キーを設定していて、ブラウザーでセキュリティ キーがサポートされている場合は、それを使ってサインインを完了できます。
- ユーザー名とパスワードを使用して、ブラウザーから GitHub にサインインします。
- 物理的なセキュリティ キーを使う場合は、それがデバイスに接続されていることを確認してください。
- オペレーティング システムからセキュリティ キー プロンプトをトリガーするには、[Use security key] (セキュリティ キーの使用) を選択します。
- プロンプトで適切なオプションを選択します。 セキュリティ キーの構成によっては、PIN を入力したり、生体認証プロンプトを完了したり、物理的なセキュリティ キーを使用したりする場合があります。
パスキーを使う
2FA を有効にし、アカウントにパスキーを追加した場合、パスキーを使ってサインインできます。 パスキーはパスワードと 2FA の両方の要件を満たすので、1 つの手順でサインインを完了できます。 「パスキーの概要」を参照してください。
テキストメッセージの受信
テキスト メッセージで 2 要素認証を設定すると、GitHub から認証コードが記されたテキスト メッセージが送信されます。
GitHub Mobile を使用した検証
GitHub Mobile にインストールしてサインインしている場合は、2 要素認証に対して GitHub Mobile で認証することを選択できます。
-
ユーザー名とパスワードを使って、ブラウザーで GitHub にサインインします。
-
GitHub から、サインイン試行を確認するためのプッシュ通知が送信されます。 プッシュ通知を開くか、GitHub Mobile アプリを開くと、このサインイン試行の承認または拒否を求めるプロンプトが表示されます。
Note
このプロンプトでは、サインインしているブラウザー内に表示される 2 桁の番号の入力を要求される場合があります。
- GitHub Mobile を使用してログイン試行を承認すると、ブラウザーは自動的にサインイン試行を完了します。
- サインイン試行を拒否すると、認証が終了できなくなります。 詳しくは、「アカウントとデータを安全に保つ」をご覧ください。
コマンドラインでの 2 要素認証の使用
Git Credential Manager を使用したコマンド ラインでの認証
Git Credential Manager は、Windows、macOS、Linux で実行されるセキュリティで保護された Git 資格情報ヘルパーです。 Git 資格情報ヘルパーの詳細については、Pro Git ブックで「繰り返しの回避」を参照してください。
セットアップ手順は、コンピューターのオペレーティング システムによって異なります。 詳細については、GitCredentialManager/git-credential-manager リポジトリの「ダウンロードとインストール」を参照してください。
HTTPS を利用したコマンドラインでの認証
personal access token を作成する必要があります。これは、コマンド ラインで HTTPS の URL を使って GitHub に対する認証を行うときに、パスワードとして使います。
コマンド ラインでユーザー名とパスワードを求められたら、GitHub のユーザー名と personal access token を入力します。 コマンド ライン プロンプトでは、パスワードの入力が必要なときに personal access token を入力するように指示されることはありません。
詳しくは、「個人用アクセス トークンを管理する」をご覧ください。
SSH を利用したコマンドラインでの認証
2FA を有効にしても、コマンド ライン上で SSH URL を使って GitHub の認証を受ける方法は変わりません。 SSH キーの設定と使用の詳細については、「SSH を使用した GitHub への接続」を参照してください。
トラブルシューティング
2 要素認証のクレデンシャルを利用できなくなった場合、アカウントに再びアクセスするためには、リカバリコードを使用するか、その他のリカバリ方法 (セットアップ済みである場合) を使用できます。 詳しくは、「2 要素認証クレデンシャルをなくした際のアカウントの回復」をご覧ください。
Note
どの復旧方法も使用できない場合は、アカウントへのアクセスが完全に失われています。 ただし、ロックされたアカウントに関連付けられているメール アドレスのリンクを解除することはできます。 リンクを解除したメール アドレスは、その後新規または既存のアカウントにリンクできます。 詳しくは、「ロックされたアカウントからメール アドレスのリンクを解除する」をご覧ください。
認証が何度も失敗するようであれば、スマートフォンのクロックをモバイルプロバイダと同期してみてください。 多くの場合、タイムゾーンを指定するのではなく、スマートフォンのクロックの「自動設定」オプションをオンにすることになります。