2FAA.app

2FA コードが使えない?直し方

認証アプリはコードを出しているのに、サイトが「違う」と言い続けるなら、原因はほぼいつも同じ——デバイスの時計が少しずれています。TOTP コードは現在時刻から作られるので、30 秒のずれでもすべてのコードが無効になります。直し方は次のとおり——たいてい 1 分とかかりません。

第 1 の原因:時刻のずれ

TOTP——Google Authenticator、Authy、2FAA の背後にある標準——は、秘密鍵と現在時刻を 30 秒刻みで組み合わせ、サーバーも同じ計算をします。スマホの時計が実際の時刻からわずかにずれるだけでコードが合わなくなります——アプリが完璧に動いて見えてもです。時刻を直せばコードも直ります。

デバイスの時刻を直す

デバイス手順
Google Authenticator(Android)アプリ → メニュー(⋮)→ 設定 → コードの時刻補正 → 今すぐ同期。スマホの時計ではなくアプリだけを同期します。
Android(システム)設定 → システム → 日付と時刻 →「時刻を自動設定」をオン。
iPhone / iPad設定 → 一般 → 日付と時刻 →「自動設定」をオン。
Windows設定 → 時刻と言語 → 日付と時刻 →「今すぐ同期」。
Macシステム設定 → 一般 → 日付と時刻 →「日付と時刻を自動設定」。

コードが弾かれるその他の理由

原因対処
入力中に期限切れ打っている間に変わった。次を待って素早く入力。
アカウント違い秘密鍵が複数あり、違うものからコピーした。発行元/ラベルを照合。
スペースや桁抜け6 桁すべてをスペースなしで入力。
実はバックアップコードバックアップコードは「バックアップコード」欄へ。認証アプリ欄ではありません。
8 桁や 30 秒以外の周期まれですが設定が異なる場合あり。元の 2FA 設定を確認。
使い回したコード多くのサービスは使用済みコードを拒否。次を待つ。
サーバー時刻 / 障害まれにサービス側の問題。数分後に再試行。

30 秒のチェックリスト

  1. デバイスの時刻を自動に設定(Android では Google Authenticator の「時刻補正」も実行)。
  2. 正しいアカウントのコードを見ているか確認。
  3. 6 桁をスペースなしで入力し、カウントダウンが終わる前に送信。
  4. それでもダメなら 2FAA でコードを生成——ブラウザのネットワーク同期時刻を使い、デバイスのずれを丸ごと回避します。

常に正しい時刻を使うコード

2FAA はブラウザ内で正確なネットワーク時刻を使って TOTP コードを生成するので、時刻ずれを気にする必要がありません。無料・プライベート・インストール不要。

よくある質問

認証アプリが「コードが無効」と出るのはなぜ?

最も多い原因は、デバイスの時計が少しずれていることです。TOTP コードは現在時刻を 30 秒刻みで計算するため、わずかなずれでもすべてのコードが合わなくなります——アプリは正常に見えてもです。時刻を自動設定にすれば、ほぼ解決します。

Google Authenticator の時刻を同期するには?

Google Authenticator を開き、メニュー(⋮)→ 設定 → コードの時刻補正 → 今すぐ同期。これはアプリ内部の時計を再同期するだけで、スマホのシステム時刻は変えません。他のアプリでは、デバイスの日付と時刻を自動にすれば十分です。

2FA コードは期限切れになりますか?

はい。標準の TOTP コードは 30 秒有効で、その後新しいものに切り替わります。入力中にコードが変わった場合、入れたものは期限切れかもしれません——次のコードを待って素早く送信しましょう。多くのサービスはこのために直前のコードも数秒間は受け付けます。

同じ 2FA コードを 2 回使えますか?

通常は使えません。リプレイ攻撃を防ぐため、多くのサービスは 30 秒の有効期間内でも一度使ったコードを拒否します。ログインに失敗して再試行するときは、同じコードを入れ直さず次のコードを待ちましょう。

時刻は合っているのに失敗する。どうすれば?

正しいアカウントのコードを見ているか、6 桁すべてをスペースなしで入力したか、バックアップコードを認証アプリ欄に入れていないかを確認します。一部のアカウントは 8 桁や非標準の周期を使います。その場合は元の設定を確認してください。それでもダメなら秘密鍵が違う可能性があるので、アカウントの 2FA を登録し直しましょう。

関連記事: スマホを紛失? バックアップコード解説 2FA とは?