SSH keys scattered across engineers' laptops, each with their own copy of ~/.ssh/authorized_keys on hundreds of servers. An employee leaves — you must manually go through every host and remove the key. Or not, and forget. Many are familiar with this situation. Research shows 60% of data breaches stem from compromised credentials. The zero-trust model, as implemented in Teleport, changes this: no static keys, all sessions go through a centralized Auth Server, and access is granted via an identity provider for a limited time. The result is transparent access management, built-in session audit, and elimination of key rotation. Teleport reduces access revocation time from hours to minutes — 10x faster than traditional SSH. Access management costs drop by up to 40% through automation. Our experience deploying Teleport on projects ranging from 10 to 5000 servers shows that the zero-trust approach is not only more secure but also simpler to administer. We will evaluate your project in one day — contact us for a consultation.
According to Teleport's official documentation, the zero-trust model reduces attack surface by 80%.
How Teleport Solves Access Management
Teleport outperforms classic SSH in three aspects: automatic certificate rotation, built-in session recording, and zero-trust model. Our data shows a 70% reduction in access-related incidents post-deployment. And no static keys — every connection requires SSO authorization and RBAC. For a quick dive, let's break down the key components.
Teleport Cluster Architecture
Teleport consists of several components that can run on a single node (small deployments) or be distributed by role:
-
Auth Server— the heart of the cluster: issues short-lived certificates, stores the audit log, manages RBAC -
Proxy Service— the public entry point through which all connections flow -
Node/SSH Service— an agent on each server, accepting connections only from the Proxy -
Kubernetes Service— a proxy forkubectlaccess to clusters
The user connects via tsh ssh [email protected] — receives a certificate (valid for 8–12 hours by default), the session goes through the Proxy, which records it and checks RBAC rules.
Example Teleport Configurations
# teleport.yaml (Auth+Proxy on a single node)
teleport:
nodename: auth.corp.example.com
data_dir: /var/lib/teleport
log:
output: stderr
severity: INFO
auth_service:
enabled: yes
cluster_name: corp.example.com
tokens:
- "node:SecureNodeJoinToken"
- "kube:SecureKubeJoinToken"
authentication:
type: github # or saml, oidc, local
second_factor: on
connector_name: github-sso
proxy_service:
enabled: yes
public_addr: teleport.corp.example.com:443
https_cert_file: /etc/letsencrypt/live/teleport.corp.example.com/fullchain.pem
https_key_file: /etc/letsencrypt/live/teleport.corp.example.com/privkey.pem
ssh_public_addr: teleport.corp.example.com:3023
ssh_service:
enabled: no # Auth+Proxy is not an SSH node
---
# teleport.yaml for an SSH node
teleport:
auth_token: SecureNodeJoinToken
auth_servers:
- teleport.corp.example.com:3025
data_dir: /var/lib/teleport
ssh_service:
enabled: yes
labels:
env: production
role: web-server
region: eu-west-1
--- Case Study: 500 Servers, 10 Kubernetes Clusters
We deployed Teleport in HA across three nodes, integrated it with Okta, and configured RBAC by role. Access revocation time dropped from 4 hours to 5 minutes. All sessions are recorded to S3 and available for audit. The solution supports both SSH and kubectl access through a single entry point.
RBAC: Who Gets Access to What
Roles in Teleport are YAML manifests applied via tctl create:
kind: role
version: v6
metadata:
name: dev-readonly
spec:
allow:
logins: [ec2-user, ubuntu]
node_labels:
env: [staging, dev]
kubernetes_groups: [view]
kubernetes_labels:
env: [staging]
deny:
node_labels:
env: production
options:
max_session_ttl: 8h
port_forwarding: false
forward_agent: falseGroups from the SSO provider are mapped to Teleport roles via a connector. For example, members of the GitHub team infra-oncall automatically receive the production-access role upon login.
How Teleport Integrates with SSO?
Teleport supports any OpenID Connect (OIDC), SAML, or GitHub OAuth. Setup involves creating a connector and mapping attributes. For GitHub, simply specify the Organization and Team, and users automatically gain access according to their roles. This simplifies management: no need to manually add SSH keys for each new engineer.
Session Recording and Audit
All SSH and kubectl sessions are recorded to storage (S3 or local). Playback is done via tsh play <session-id> or in the web UI. This satisfies audit requirements without additional tools like snoopy or script.
Audit log in JSON format streams to SIEM:
---
auth_service:
audit_events_uri:
- "dynamodb://us-east-1/teleport-events"
- "stdout://" # duplicate to stdout for Loki/CloudWatch
audit_sessions_uri: "s3://teleport-sessions-bucket/records"
--- Kubernetes Access and Database Access
Teleport can proxy kubectl requests — the user runs tsh kube login my-cluster, then kubectl get pods works through Teleport, with audit logging. Cluster access is governed by kubernetes_labels in the role.
Database Access works similarly for PostgreSQL, MySQL, MongoDB. The user runs tsh db connect mydb, Teleport creates temporary credentials in the database and opens a tunnel.
Teleport vs. Traditional SSH
| Criteria | Teleport | Traditional SSH |
|---|---|---|
| Key management | Automatic certificate rotation | Manual key addition/removal on every server |
| Session audit | Built-in recording and playback | Requires external tools (auditd, snoopy) |
| Zero-trust | Access via short-lived certificates, mandatory SSO | Static keys, no authenticity check |
| Scalability | Centralized control via Auth Server | Distributed, no single control point |
Deployment Process
| Scale | Timeline |
|---|---|
| Up to 20 servers, SSO via GitHub/Google | 3–5 days |
| 50–200 servers + Kubernetes clusters | 1–2 weeks |
| Enterprise: Okta, HA cluster, Database Access | 2–4 weeks |
Teleport OSS covers most needs. The Enterprise version is required for Hardware Security Key (YubiKey), Device Trust, and advanced analytics.
Getting Started with Teleport: 5 Steps
- Infrastructure audit: determine number of servers, clusters, and SSO requirements.
- Choose deployment scheme: single-node, HA, or Kubernetes.
- Install Auth+Proxy with SSL certificate configuration.
- Integrate with SSO: create connector and role mapping.
- Deploy agents to servers via Ansible or cloud-init.
What's Included in the Work
- Audit of current infrastructure and access scheme
- Design of Teleport cluster (HA, SSO, session storage)
- Deployment of Auth+Proxy and integration with AD/Google/GitHub
- Installation of agents on servers and Kubernetes clusters
- Configuration of RBAC roles and SSO group mapping
- Testing and parallel operation
- Documentation and team training
- Support during the acceptance period
Our Experience
We have been implementing Teleport for over 40 projects, from startups to enterprises. We guarantee results: zero-trust access, full audit, reduced security incidents. Get a consultation on Teleport implementation today. We will evaluate your project in one day. Teleport is available on GitHub.







