Teleport supports multiple forms of multi-factor authentication (MFA) to protect both the login flow and individual infrastructure sessions. You can require a hardware security key tap before every SSH connection, allow biometric passwordless login via Touch ID or Windows Hello, or delegate MFA enforcement to your SSO provider.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/gravitational/teleport/llms.txt
Use this file to discover all available pages before exploring further.
MFA methods
Teleport supports the following second-factor types:- TOTP
- WebAuthn
- Passwordless
Time-based One-Time Passwords (TOTP) are six-digit codes generated by an authenticator app such as Google Authenticator, Authy, or 1Password. TOTP implements the RFC 6238 standard and is the default for self-hosted Teleport deployments.To enroll a TOTP device:
Cluster-wide MFA configuration
Configure MFA options in yourteleport.yaml under auth_service, or via the dynamic cluster_auth_preference resource.
Static configuration (teleport.yaml)
| Value | Behavior |
|---|---|
otp | TOTP only; default for self-hosted deployments |
webauthn | WebAuthn hardware keys and biometrics only; default for Enterprise Cloud |
on | Both TOTP and WebAuthn required; users must register at least one device |
optional | Both TOTP and WebAuthn enabled but not required |
off | MFA disabled (not recommended for production) |
Dynamic resource (cluster_auth_preference)
Per-session MFA
Per-session MFA requires users to authenticate with a second factor at the start of each individual session — not just at login. This protects against scenarios where an attacker steals on-disk Teleport certificates: even with the certificate, they cannot open a new session without physical access to the MFA device. Per-session MFA is supported for:- SSH connections (
tsh ssh, Web UI, Teleport Connect) - Kubernetes sessions (
kubectl,tsh proxy kube) - Database sessions (
tsh db connect,tsh proxy db) - Application sessions
- Desktop sessions
Enable cluster-wide per-session MFA
Enable per-session MFA for a specific role
Apply per-session MFA only to users accessing production resources:Passwordless cluster configuration
To configure a fully passwordless cluster, enable passwordless as the default authentication method:Passwordless login requires WebAuthn to be configured on the cluster. It works with any device that supports resident keys: YubiKey 5 series, Touch ID on macOS, or Windows Hello on Windows 10 (19H1 or later).
SSO MFA
If your users authenticate via an SSO provider, you can delegate MFA challenges to that provider. When a user initiates a session that requires per-session MFA, Teleport redirects the challenge to the IdP instead of prompting for a local device. Configure SSO MFA by includingsso in second_factors:
For SSO users, Teleport does not prompt for MFA at login — that responsibility belongs to the IdP. The
sso second factor only applies to per-session MFA challenges.Managing MFA devices
Next steps
RBAC
Enforce per-session MFA at the role level with require_session_mfa.
SSO
Integrate with your IdP and delegate login MFA to the provider.
Device Trust
Go beyond MFA by requiring registered, attested devices.
Access Requests
Combine MFA with just-in-time elevated access.
