GitHubのSMS認証コードが届かないときの対処方法

はじめに

久しぶりにGitHubへログインしようとしたところ、2段階認証で使用するSMS認証コードが、いつまで待ってもスマートフォンに届かない問題が発生しました。

SMSの再送を何度か試しても届かず、次のようなエラーメッセージが表示されました。

今回は、GitHubのSMS認証コードが届かず、パソコンからログインできなくなったときに、実際に解決できた方法を紹介します。

発生した問題

パソコンのブラウザからGitHubへログインするため、ユーザー名とパスワードを入力しました。

パスワードの入力後、2段階認証の画面が表示されましたが、登録している電話番号へSMS認証コードが送られてきませんでした。

しばらく待ってからSMSを再送しても、認証コードは届きませんでした。

この状態では2段階認証を完了できないため、パソコンからGitHubへログインできません。

表示されたエラーメッセージ

GitHubのログイン画面には、次のメッセージが表示されました。

If you are unable to access your device or cannot receive a two-factor authentication code, enter one of your recovery codes to verify your identity.


We tried sending an SMS to your configured number, but we are not authorized to send SMS messages to this recipient. Please resend or check our documentation for additional 2FA guidance. 

日本語にすると、おおよそ次のような内容です。

端末を利用できない場合や、2段階認証コードを受信できない場合は、
リカバリーコードを入力して本人確認を行ってください。

登録されている電話番号へSMSを送信しようとしましたが、
この受信者へSMSを送信する権限がありませんでした。

再送するか、2段階認証に関するドキュメントを確認してください。

特に問題となったのは、次の部分です。

We are not authorized to send SMS messages to this recipient.

単にSMSの到着が遅れているのではなく、GitHub側から登録済みの電話番号へSMSを送信できない状態になっている可能性があります。

SMSの再送でも解決しなかった

最初は一時的な通信障害だと思い、SMSの再送を何度か試しました。

しかし、認証コードは届きませんでした。

次のような確認も行いました。

  • スマートフォンに通信障害が発生していないか
  • 機内モードが有効になっていないか
  • SMSを受信拒否していないか
  • 迷惑メッセージとして処理されていないか
  • GitHubに登録した電話番号が正しいか

GitHub公式ドキュメントでも、SMSが届かない場合は、電波状況、SMSを受信できる契約かどうか、迷惑メッセージ対策アプリ、通信事業者の障害などを確認するよう案内されています。

今回はSMSの再送では解決できませんでした。

解決方法

今回の環境では、パソコンからGitHubへログインできない一方で、スマートフォンのGitHubアプリにはログインした状態が残っていました。

そこで、パソコンのGitHubログイン画面から、SMS以外の認証方法を選択しました。

スマートフォンのGitHubアプリにログイン確認の通知が届いたため、その通知を開いてログインを承認しました。

承認後、パソコンのブラウザでもGitHubへログインできました。

GitHub Mobileには、別のブラウザからのログインをスマートフォンで承認する2段階認証機能があります。ログイン操作を行うとGitHub Mobileへ通知が届き、アプリ上で承認するとブラウザ側のログインが完了します。

今回の解決手順は次のとおりです。

1.パソコンからGitHubへログインする

パソコンのブラウザでGitHubを開き、ユーザー名とパスワードを入力します。

2.2段階認証画面で別の認証方法を選択する

SMS認証コードの入力画面が表示されたら、「More options」などの項目から、別の認証方法を選択します。

画面の表示内容は、アカウントに設定されている認証方法によって異なる場合があります。

3.GitHub Mobileによる認証を選択する

スマートフォンにGitHubアプリをインストールしており、アプリへログイン済みの場合は、GitHub Mobileを使った認証を選択します。

4.スマートフォンに届いた通知を開く

GitHubアプリにログイン確認の通知が届きます。

通知が表示されない場合は、GitHubアプリを直接開いて確認します。

5.ログイン操作を承認する

スマートフォンに表示されたログイン確認画面で、自分が行った操作であることを確認して承認します。

ブラウザに2桁の数字が表示され、スマートフォン側で同じ数字を入力する場合もあります。

6.パソコン側のログイン完了を確認する

スマートフォンで承認すると、パソコンのブラウザ側でも自動的にログインが完了しました。

GitHub Mobileでも認証できない場合

GitHub Mobileを使用できない場合は、ほかの回復方法を確認します。

リカバリーコードを使用する

2段階認証を設定した際に保存したリカバリーコードがあれば、SMSの代わりに使用できます。

ログイン画面の「More options」から「2FA recovery code」を選択し、保存しているリカバリーコードを入力します。

GitHubのリカバリーコードは、通常、次のようなファイル名でダウンロードされています。

github-recovery-codes.txt

パソコンのダウンロードフォルダや、パスワード管理アプリを確認してみてください。

なお、リカバリーコードは一度使用すると再利用できません。

パスキーやセキュリティキーを使用する

事前にパスキーやセキュリティキーを登録している場合は、それらを使用してログインできる可能性があります。

パスキーは、パスワードと2段階認証の両方を満たす認証方法として利用できます。

アカウント回復を申請する

リカバリーコードやGitHub Mobileなどを使用できない場合は、GitHubのアカウント回復手続きを行います。

GitHubでは、以前ログインした端末、登録済みのSSHキー、Personal Access Tokenなどを使って本人確認を行える場合があります。

ただし、回復方法を何も利用できない場合、GitHub Supportでもアカウントへのアクセスを復元できない可能性があるため注意が必要です。

ログイン後に認証方法を変更する

ログインできた後は、SMSだけに依存しないように、2段階認証の設定を変更しておくことをおすすめします。

GitHubの画面右上にあるプロフィール画像から、次の順番で設定画面を開きます。

Settings
→ Password and authentication
→ Two-factor authentication

認証アプリによるTOTP認証やパスキー、セキュリティキーなどを追加します。

GitHubは、SMSよりもTOTP認証アプリを推奨しています。TOTP認証は、Google AuthenticatorやMicrosoft Authenticatorなどのアプリで、一定時間ごとに生成される認証コードを使用する方法です。

リカバリーコードを再発行する

GitHubへログインできたら、リカバリーコードも確認しておきます。

リカバリーコードを紛失している場合や、すでに使用したコードがある場合は、新しいコードを発行し、安全な場所へ保存します。

保存場所としては、次のような方法が考えられます。

  • パスワード管理アプリ
  • 暗号化されたストレージ
  • インターネットに接続していない外部メディア
  • 紙に印刷して安全な場所へ保管

GitHubへログインできない状態になってから探すのではなく、事前に保存場所を確認しておくことが重要です。

まとめ

今回は、GitHubの2段階認証でSMS認証コードが届かず、パソコンからログインできない問題が発生しました。

SMSを再送しても解決しませんでしたが、スマートフォンのGitHubアプリにはログインできていたため、GitHub Mobileからログイン操作を承認することで解決できました。

今回のポイントは次のとおりです。

  • SMS認証コードを再送しても届かないことがある
  • 2026年8月1日からSMS認証が全面廃止されたという公式情報は確認できなかった
  • スマートフォンのGitHubアプリにログイン済みなら、アプリから認証できる場合がある
  • リカバリーコードでもログインできる
  • ログイン後はTOTP認証やパスキーを設定しておく
  • SMSだけに依存しない認証方法を準備しておく

GitHubのSMS認証コードが届かない場合は、SMSの再送だけを繰り返すのではなく、GitHub Mobile、リカバリーコード、パスキーなど、別の認証方法が利用できないか確認してみてください。