2 要素認証を有効にすると、ブラウザーから GitHub にアクセスするときに、認証コードを指定するか、セキュリティ キーを使用する必要があります。 API やコマンド ラインなどの他の方法を使って GitHub にアクセスする場合は、別の認証形式を使う必要があります。 詳しくは、「GitHub への認証方法について」をご覧ください。
Web サイトにサインインするときに 2FA を実行する
パスワードを使用して GitHub にサインインしたら、認証コードを指定するか、セキュリティ キーを使って 2FA を実行する必要があります。
GitHub が 2FA 認証コードの入力を再度求めるのは、ログアウトした場合、新しいデバイスを使う場合、機密性の高いアクションを実行する場合、またはセッションが期限切れになった場合のみです。 機密性の高いアクションの 2FA の詳細については、「Sudo モード」を参照してください。
TOTP アプリケーションでのコード生成
TOTP アプリケーションを使用して 2 要素認証を設定することにした場合は、いつでも GitHub 用の認証コードを生成できます。 多くの場合、アプリケーションを起動するだけで新しいコードが生成されます。 個別の手順についてはアプリケーションのドキュメンテーションを参照してください。
2 要素認証を設定した後に認証アプリケーションを削除した場合は、アカウントにアクセスするために復旧コードを入力する必要があります。 多くの TOTP アプリでは、クラウドでの認証コードのセキュリティで保護されたバックアップがサポートされており、デバイスにアクセスできなくなった場合に復元できます。 詳しくは、「2 要素認証クレデンシャルをなくした際のアカウントの回復」をご覧ください。
セキュリティ キーの使用
アカウントに対してセキュリティ キーを設定していて、ブラウザーでセキュリティ キーがサポートされている場合は、それを使ってサインインを完了できます。
- ユーザー名とパスワードを使用して、ブラウザーから GitHub にサインインします。
- 物理的なセキュリティ キーを使う場合は、それがデバイスに接続されていることを確認してください。
- オペレーティング システムからセキュリティ キー プロンプトをトリガーするには、[Use security key] (セキュリティ キーの使用) を選択します。
- プロンプトで適切なオプションを選択します。 セキュリティ キーの構成によっては、PIN を入力したり、生体認証プロンプトを完了したり、物理的なセキュリティ キーを使用したりする場合があります。
コマンドラインでの 2 要素認証の使用
2FA を有効にすると、コマンド ラインでパスワードを使って GitHub にアクセスできなくなります。 代わりに、Git Credential Manager、personal access token、または SSH キーを使います。
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 への接続」を参照してください。
Subversion を使ったリポジトリへのアクセスでの 2 要素認証の利用
Note
Subversion のサポートは、GitHub バージョン 3.13 で削除されます。 詳細については、「GitHub ブログ」を参照してください。
Subversion 経由でリポジトリにアクセスするときは、パスワードを入力するのではなく personal access token を入力する必要があります。 詳しくは、「個人用アクセス トークンを管理する」をご覧ください。
トラブルシューティング
2 要素認証のクレデンシャルを利用できなくなった場合、アカウントに再びアクセスするためには、リカバリコードを使用するか、その他のリカバリ方法 (セットアップ済みである場合) を使用できます。 詳しくは、「2 要素認証クレデンシャルをなくした際のアカウントの回復」をご覧ください。
認証が何度も失敗するようであれば、スマートフォンのクロックをモバイルプロバイダと同期してみてください。 多くの場合、タイムゾーンを指定するのではなく、スマートフォンのクロックの「自動設定」オプションをオンにすることになります。