Teleport is a distributed system built around three architectural tiers: the Auth Service, the Proxy Service, and Teleport Agents (services). Understanding how these components interact gives you the foundation needed to deploy, operate, and troubleshoot any Teleport cluster—whether it runs on a single Linux host or spans multiple clouds.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.
The Three Tiers
Teleport Auth Service
The Auth Service is the core of a Teleport cluster. It performs three main functions:- Maintains certificate authorities (CAs). The Auth Service is the root of trust for every component in the cluster. It signs short-lived X.509 and SSH certificates for users, hosts, and internal services. All authentication is certificate-based—there are no shared secrets or static passwords traveling over the wire.
- Stores cluster configuration. Dynamic resources such as roles, local users, trusted clusters, and registered infrastructure resources are persisted in the Auth Service’s backend store.
- Collects audit events and session recordings. Every connection, command, and access request generates an audit event that is written to the Auth Service’s audit backend.
Teleport Proxy Service
The Proxy Service is the public-facing entry point for a Teleport cluster. Users connect to the Proxy Service to reach resources that live in private networks—no VPN required. Key responsibilities include:- Routing user traffic. The Proxy Service inspects the protocol (SSH, Kubernetes API, HTTPS, database wire protocol) and forwards the connection to the appropriate agent through a reverse tunnel.
- Serving the Web UI. The Proxy hosts Teleport’s browser-based interface for managing sessions, access requests, and audit logs.
- TLS Routing. By default, all traffic (SSH, Kubernetes, databases, applications) is multiplexed over a single TLS port (443), minimizing the number of firewall rules you need.
Teleport Agents
Teleport Agents are instances of theteleport binary configured to run one or more services that proxy access to your infrastructure. Agents live in your private network alongside the resources they protect.
| Service | Protocol | Resources |
|---|---|---|
ssh_service | SSH | Linux servers, OpenSSH nodes |
kubernetes_service | HTTPS | Kubernetes clusters |
db_service | Native DB protocols | PostgreSQL, MySQL, MongoDB, and more |
app_service | HTTPS / TCP | Internal web apps, AWS Console |
windows_desktop_service | RDP | Windows desktops |
discovery_service | Cloud APIs | Auto-enrolled EC2, GKE, RDS, etc. |
Certificate Flow
Every Teleport connection is secured by short-lived certificates. Understanding the certificate lifecycle is essential for debugging access issues and planning your security posture.User authenticates
A user runs
tsh login (or opens the Web UI) and presents their credentials—a password plus MFA, or an SSO assertion from your identity provider. The Proxy Service routes this to the Auth Service.Auth Service issues certificates
The Auth Service verifies the identity, looks up the user’s roles, and issues:
- An SSH certificate (for SSH and Kubernetes access)
- An X.509 TLS certificate (for databases, applications, and internal gRPC connections)
User presents certificates to agents
When the user runs
tsh ssh, tsh kube login, or tsh db connect, the client presents the certificate to the agent. The agent validates it against the cluster’s CA—it does not need to contact the Auth Service for every connection.Internal Certificates
Internal Teleport components—the Auth Service, Proxy Service, and Agents—also use certificates to authenticate to each other. These are longer-lived than user certificates and are renewed during CA rotation, a cluster-wide process that replaces all certificate authorities and reissues all internal certificates.Reverse Tunnels
One of Teleport’s most important deployment advantages is that agents require no inbound network access. When an agent starts, it:- Obtains a join token (a short-lived one-time secret or a cloud identity join method).
- Connects outbound to the Proxy Service’s SSH reverse tunnel listener on port 443.
- Maintains a persistent, authenticated tunnel.
Backend Storage
The Auth Service needs a persistent backend for cluster state and audit data. Teleport supports multiple backends, chosen at deploy time viateleport.yaml.
Cluster State Backends
Cluster State Backends
Cluster state includes roles, users, trusted cluster records, node registrations, and certificate authority keys.
Configure the state backend in the
| Backend | Environment | Notes |
|---|---|---|
| SQLite | Dev / single-node | Default for new self-hosted installs; not suitable for HA |
| etcd | Kubernetes / bare metal | Suitable for HA; requires a separate etcd cluster |
| DynamoDB | AWS | Fully managed; used by Teleport Enterprise Cloud |
| Firestore | GCP | Fully managed; used by Teleport on GKE |
| PostgreSQL | Any | Supported in Teleport Enterprise; supports HA |
storage section of teleport.yaml:Session Recording Backends
Session Recording Backends
Session recordings (SSH PTY output, Kubernetes exec output, desktop video) are stored separately from cluster state. Teleport supports:
Configure the sessions backend via
| Backend | Environment | Notes |
|---|---|---|
| Filesystem | Dev / single-node | Stored at data_dir; not suitable for HA |
| AWS S3 | AWS | Recommended for production AWS deployments |
| Google Cloud Storage (GCS) | GCP | Recommended for production GCP deployments |
| S3-compatible (MinIO, etc.) | Any | Configurable endpoint |
audit_sessions_uri in teleport.yaml:Teleport Enterprise Cloud
On Teleport Enterprise Cloud, Teleport fully manages the Auth Service and Proxy Service for you. The Auth Service runs in two AWS availability zones for redundancy and the Proxy Service is deployed to multiple regions globally for low-latency access. You deploy only Agents on your own infrastructure. Audit logs are stored in S3 and retained for four years by default; session recordings are retained in S3 indefinitely. Customers can also configure External Audit Storage to route recordings and logs to their own AWS account.Related Pages
Deploy a Cluster
Step-by-step instructions for deploying Teleport on Linux or Kubernetes.
Configuration Reference
Full annotated teleport.yaml reference for every service section.
Access Controls / RBAC
How roles, labels, and allow/deny rules control access to resources.
Core Concepts
High-level overview of clusters, services, users, and clients.
