GitHubの2段階認証(スマホでQRコードを読み取ってワンタイムパスワードで認証)
GitHubのスマホ認証アプリを使った2段階認証は、アカウントのセキュリティを強化する方法です。まず、GitHubアカウントのセキュリティ設定で2段階認証を有効にします。次に、スマートフォンに認証アプリ(例:Google AuthenticatorやAuthy)をインストールし、GitHubから表示されるQRコードをスキャンしてアプリにアカウントを追加します。この設定後、ログイン時には通常のパスワードに加えて、認証アプリが生成する一時的な6桁のコードの入力が求められます。このコードは数十秒ごとに更新されるため、不正アクセスのリスクを大幅に低減できます。
登録概要
GitHubのワンタイムパスワード(OTP)認証は、アカウントのセキュリティを強化するための二段階認証(2FA)の一環です。スマホを使用してOTP認証を行う方法は以下のようになります。
認証アプリのインストール
スマホに認証アプリをインストールします。一般的なアプリには、Google Authenticator、Authy、Microsoft Authenticatorなどがあります。
GitHubでの2FA設定
GitHubのアカウント設定で「Security」(セキュリティ)セクションを選択し、「Two-factor authentication」(二段階認証)を設定します。この際、「Set up using an app」(アプリを使って設定)オプションを選ぶと、QRコードが表示されます。
QRコードのスキャン
認証アプリで表示されたQRコードをスキャンします。これにより、アプリがGitHubアカウントとリンクされ、アプリ上で定期的に新しいOTPが生成されるようになります。
ログイン時の認証
GitHubにログインする際、ユーザー名とパスワードを入力した後、認証アプリに表示されるワンタイムパスワードを入力する必要があります。このパスワードは通常、30秒ごとに新しく生成されます。
この仕組みにより、パスワードだけでなく、物理的にユーザーの手元にあるデバイス(スマホ)から生成されるワンタイムパスワードが必要となるため、不正アクセスのリスクが著しく減少します。このような二段階認証は、アカウントの保護に非常に効果的です。
認証アプリのインストール
Google Authenticatorのインストール
様々なワンタイム認証アプリがあります
今回は、スマホ認証アプリとしてGoogle Authenticatorを使います
【iOS】
https://itunes.apple.com/jp/app/google-authenticator/id388497605?mt=8
【Android】
https://play.google.com/store/apps/details?id=com.google.android.apps.authenticator2&hl=ja
Google Authenticatorは、Googleが提供する二段階認証(2FA)用のアプリで、より高いセキュリティレベルをユーザーのアカウントに提供するために設計されています。このアプリは、ユーザーがオンラインアカウントにログインする際に、パスワードとともにワンタイムパスワード(OTP)を入力することを要求します。以下はGoogle Authenticatorの主な特徴と使用方法です:
主な特徴
- ワンタイムパスワード生成: Google Authenticatorは、30秒ごとに新しい6桁のパスワードを生成します。このパスワードは、ログインする際にユーザー名とパスワードに加えて要求されます。
- オフラインでの動作: インターネット接続がなくても、アプリは正常に動作し続けます。これは、パスワードがデバイス上で生成されるためです。
- 広範な互換性: 多くのオンラインサービスやアプリがGoogle Authenticatorに対応しています。これには、ソーシャルメディア、メールプロバイダー、金融サービスなどが含まれます。
- 認証コードの同期: Googleアカウントと複数のデバイス間で同期。これにより、スマートフォンを紛失した場合でも常にコードを利用できます
- QRコードによるデバイス間のアカウント移行: アカウントを新しいデバイスに手軽に移行できます(下記の参考タイトルを参照)
使用方法
- アプリのインストール: Google PlayストアまたはApple App StoreからGoogle Authenticatorアプリをダウンロードしてインストールします。
- アカウントの追加: 二段階認証を設定しているサービスにログインし、「2FA設定」を開きます。多くの場合、QRコードが表示されるので、それをGoogle Authenticatorアプリでスキャンします。
- ワンタイムパスワードの利用: アプリがQRコードを認識すると、そのアカウントのためのワンタイムパスワードがアプリ上で生成されます。ログインする際は、このパスワードを使用して認証を完了します。
Google Authenticatorを使用することで、アカウントへの不正アクセスを効果的に防ぐことができ、オンラインのセキュリティが大幅に向上します。
スマホ認証アプリを起動しておきます

GitHubでの2FA設定
ブラウザでGitHubのページを開き、サインインします
2段階認証が必須登録の予備期間切れの場合、GitHubの機能に制限がかかります
QRコードが表示されますので、下記、「QRコードのスキャン」の項までスキップしてください
2段階認証画面のところまで進めます
アカウント画面を開きます
GitHub画面右上のアカウントアイコンをクリック

設定画面を開きます
アカウント画面が開きますので、画面左のSettingをクリック

パスワード、認証登録画面を開きます
画面左側のPassword and authenticationをクリック

2段階認証方式として認証アプリを登録
Authenticator appを追加をクリック


QRコードのスキャン
スマホアプリでQRコードを読み取らせる
スマホアプリで、右下の+記号をクリック

QRコードをスキャンをタップ
PCのモニターに表示されているQRコードをスマホでスキャンすると、スマホの画面に6桁の認証コードが表示されます

スマホの認証アプリとの連携

2段階認証の優先順位を選択
Authenticator app が Configuredになったのを確認
Preferred 2FS methodをAuthenticator appを選択

以上で完了です
ログイン時の認証
アカウントとパスワードでこれまで通りサインインします

2段階認証の画面が表示されるので、「認証アプリを使う」選択します

スマホの認証アプリを起動して、表示されている認証コードを入力し、Verifyをクリックします
一定時間ごとに認証コードは更新されますので、表示されているコードを入力してください

以上で、サインインが完了し、通常通りアクセスできるようになります
認証ができなくなった時に備える
認証ができなくなった場合に備えて、リカバリーコードを保存しておきましょう
2段階認証登録画面で、Recovery optionsのViewをクリック

コードの一覧が表示されますので、ダウンロードして大切に保管しておきます

スマホ間で、認証情報を引き継ぐ
Google Authenticatorのデータを古いスマホから新しいスマホへ引き継ぐことは可能です。最近のアップデートにより、Google Authenticatorもバックアップと復元のプロセスが簡略化されています。以下に引き継ぎ方を説明します。
新しいバックアップ機能を使う方法
- バックアップの準備: 古いデバイスのGoogle Authenticatorアプリで、設定メニューを開き、「アカウントの転送」または「バックアップの作成」のオプションを選択します。
- バックアップの作成: 指示に従って、Googleアカウントにログインし、認証データのバックアップを作成します。
- 新しいデバイスでの復元: 新しいデバイスにGoogle Authenticatorをインストールした後、同じGoogleアカウントにログインして、バックアップから認証データを復元します。
新しいバックアップ機能を利用できる場合は、その方がはるかに便利で安全です。デバイスの変更が予定されている場合は、最新の情報を確認し、可能な限りバックアップ機能を使用することをお勧めします。
GitHubで利用できる2段階認証(2FA)の種類
GitHubで利用できる2段階認証(2FA)の種類には以下のものがあります:
- 認証アプリ:
- これはスマートフォンやタブレットにインストール可能な認証アプリ(例:Google Authenticator、Microsoft Authenticator)を使用します。アプリは定期的に変わる6桁のコードを生成し、そのコードをGitHubにログインする際に入力する必要があります。
- SMS認証:
- この方法では、ユーザーが登録した携帯電話番号にSMSメッセージを通じて6桁の認証コードが送信されます。このコードをGitHubにログイン時に入力することで認証が完了します。
- ハードウェアセキュリティキー:
- 物理的なセキュリティキー(例:YubiKey)を使用して認証します。セキュリティキーをデバイスの適切なポートに挿入してボタンを押すことで、ログイン時に認証が行われます。WebAuthn(Web認証)もサポートされています。
- 回復コード:
- これは2段階認証を設定する際に生成される一連のコードです。他の認証方法が利用できない場合に、これらのコードを使用してアカウントにアクセスすることができます。安全な場所に保管することが推奨されます。
これらの方法を組み合わせて使用することで、アカウントのセキュリティをさらに強化することができます。例えば、認証アプリとハードウェアセキュリティキーの併用などです。
参考)パスワードログイン以外の方法
「Passkey」とは2段階認証(2FA)の方法とは異なるセキュリティ概念です。Passkey(パスキー)は、パスワードの代わりに使用されるデジタルキーであり、より安全なログイン方法を提供することを目的としています。
Passkeyの特徴
パスワードレス認証
Passkeyを使用すると、ユーザーはパスワードを覚える必要がなく、ログインのためにはデバイスやバイオメトリック(指紋や顔認識など)を使用します。
デバイス間の互換性
Passkeyはクラウドを介して同期されるため、異なるデバイス間でログイン情報を容易に共有できます。
高いセキュリティ
Passkeyは公開鍵暗号技術を使用し、ユーザーの秘密情報がサーバー上に保存されることはありません。これにより、パスワードの盗難リスクを軽減します。
Passkeyは、オンラインでの認証プロセスを簡素化し、より直感的かつ安全なユーザー体験を提供することを目指しており、従来の2段階認証とは異なり、セキュリティを強化する新しい方法です。最近では、AppleやGoogle、Microsoftなどの大手テクノロジー企業がPasskeyを支持しており、広範囲にわたる採用が進んでいます。
ディスカッション
コメント一覧
まだ、コメントがありません