正式なドキュメントは英語版であり、この日本語訳はAI支援翻訳により作成された参考用のものです。日本語訳の一部の内容は人間によるレビューがまだ行われていないため、翻訳のタイミングにより英語版との間に差異が生じることがあります。最新かつ正確な情報については、英語版をご参照ください。

2要素認証のトラブルシューティング

  • プラン: Free、Premium、Ultimate
  • 提供形態: GitLab.com、GitLab Self-Managed、GitLab Dedicated

エラー: HTTP Basic: Access denied. If a password was provided for Git authentication ...

リクエストを行うと、次のエラーが返されることがあります:

HTTP Basic: Access denied. If a password was provided for Git authentication,
the password was incorrect or you're required to use a token instead of a password.
If a token was provided, it was either incorrect, expired, or improperly scoped.

このエラーは、以下の場合に発生します:

このエラーを解決するには:

エラー: invalid pin code

invalid pin codeエラーは、認証アプリケーションとGitLabインスタンス自体の間に時刻同期の問題があることを示している可能性があります。

この問題を解決するには、2FAコードを生成するデバイスの時刻同期をオンにします。

  1. Settings > System > Date & time(設定 > システム > 日付と時刻)に移動します。
  2. Set time automatically(時刻を自動的に設定)をオンにします。この設定がすでにオンになっている場合は、オフにして数秒待ってから、もう一度オンにします。
  1. Settings > General > Date & Time(設定 > 一般 > 日付と時刻)に移動します。
  2. Set Automatically(自動設定)をオンにします。この設定がすでにオンになっている場合は、オフにして数秒待ってから、もう一度オンにします。

エラー: リカバリーコードを生成する際のPermission denied (publickey)

Permission denied (publickey)というエラーが表示されることがあります。

この問題は、デフォルト以外のSSHキーペアファイルのパスを使用しており、SSHを使用してリカバリーコードを生成することを試みた場合に発生します。

これを解決するには、ssh-agentを使用して別のディレクトリを指定するようにSSHを設定します。

リカバリーオプションと2FAリセット

2FAを有効にしていて、コードを生成できない場合は、次のいずれかの方法でアカウントにアクセスしてください:

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

2FAを有効にしたときに、GitLabにより一連のリカバリーコードが提供されています。これらのコードを使用してアカウントにサインインできます。

リカバリーコードを使用するには:

  1. GitLabサインインページで、ユーザー名またはメールアドレスとパスワードを入力します。
  2. 2要素コードの入力を求められたら、リカバリーコードを入力します。

リカバリーコードを使用した後、同じコードを再度使用することはできません。他のリカバリーコードは引き続き有効です。

SSHを使用して新しいリカバリーコードを生成する

GitLabアカウントにSSHキーを追加した場合、SSHで新しいリカバリーコードセットを生成できます:

  1. ターミナルで、次のコマンドを実行します:

    ssh git@gitlab.com 2fa_recovery_codes

    GitLab Self-Managedインスタンスで、gitlab.comをGitLabサーバーのホスト名(gitlab.example.com)に置き換えます。

  2. 確認メッセージで、yesを入力します。

  3. GitLabが生成するリカバリーコードを保存します。以前のリカバリーコードは無効になりました。

  4. サインインページで、ユーザー名またはメールアドレスとパスワードを入力します。

  5. 2要素コードの入力を求められたら、新しいリカバリーコードの1つを入力します。

サインインしたら、すぐに新しいデバイスで2FAを設定します。

アカウントで2FAをリセットする

  • プラン: Premium、Ultimate
  • 提供形態: GitLab.com

以前のリカバリーオプションが機能せず、アカウントにサインインできない場合は、サポートリクエストを作成して、アカウントの2FAを無効にすることができます。2FAが無効になったら、アカウントを安全に保つために、できるだけ早く再度有効にします。

このサービスは、GitLab.comサブスクリプションがあるアカウントでのみ利用できます。詳細については、ブログ記事を参照してください。

サポートリクエストを作成するには:

  1. GitLabサポートに移動します。
  2. Submit a Ticket(チケットを送信)を選択します。
  3. GitLabサポートアカウントでサインインしてください。サポートアカウントはGitLabアカウントとは異なり、2FAの問題の影響を受けません。
  4. イシュードロップダウンリストで、GitLab.com user accounts and login issues(GitLab.comユーザーアカウントとログインの問題)を選択します。
  5. サポートフォームのフィールドに記入します。
  6. 送信を選択します。

エンタープライズユーザーの2FAをリセットする

有料プランのトップレベルグループのオーナーである場合は、エンタープライズユーザーの2FAを無効にできます。詳細については、エンタープライズユーザーの2FAを無効にするを参照してください。