Emergency Access (Locked Out)

Warning: If you cannot access 2FA device, use these methods

1. Disable 2FA via WHM (Hosting Provider)

WHM administrators can disable 2FA:

# Login to WHM as root/admin
# Navigate to:
Home → cPanel → Two-Factor Authentication

# Find the account
# Click: "Disable Two-Factor Authentication"
# Confirm and save changes

2. SSH Command to Disable

If you have SSH access:

# Disable 2FA for specific user:
/usr/local/cpanel/bin/disable_two_factor_auth username

# Verify:
/usr/local/cpanel/bin/two_factor_auth status username

# Expected output: "Two-factor authentication is disabled"

Common 2FA Problems

1. Time Sync Issues (Most Common)

Authentication apps require accurate time:

# Check server time:
date

# Sync time on server:
ntpdate pool.ntp.org

# On mobile device:
- Go to Settings → Date & Time
- Enable "Automatic date & time"
- Disable and re-enable to force sync

2. Use Recovery Codes

If you saved recovery codes during setup:

  • 1. On cPanel login page, click "Can't access your device?"
  • 2. Enter one recovery code (8 digits)
  • 3. Login and regenerate new codes immediately

App Specific Solutions

1. Google Authenticator

# Steps to fix:
1. Open Google Authenticator app
2. Tap three-dot menu → Settings
3. Tap "Time correction for codes"
4. Tap "Sync now"

# If app deleted:
1. Contact hosting to disable 2FA
2. Re-enable 2FA in cPanel
3. Scan new QR code

2. Authy

# Authy multi-device:
1. Install Authy on new device
2. Use "Authy Multi-Device" in settings
3. Restore from cloud backup

# If no backup:
1. Use recovery phrase if saved
2. Otherwise, disable via WHM

Prevention Best Practices

Practice Why It's Important How To Implement
Save Recovery Codes Emergency access when app fails Print/store in password manager
Use Multiple Methods Redundancy if one fails Enable both app and SMS if available
Test Regularly Ensure 2FA works before you need it Test login monthly
Device Backups Prevent loss when phone replaced Enable cloud backup in auth app

Complete Reset Procedure

# Full reset via SSH (if admin):
# 1. Disable 2FA:
/usr/local/cpanel/bin/disable_two_factor_auth username

# 2. Clear any cached 2FA data:
rm -f /home/username/.two_factor_auth*

# 3. Re-enable with fresh setup:
/usr/local/cpanel/bin/enable_two_factor_auth username

# 4. User must scan new QR code and save recovery codes
Success: 2FA access restored. Always keep recovery codes in a safe place.