# Teleport — Secure Infrastructure Access Platform > Teleport provides identity-based, zero-trust access to servers, Kubernetes clusters, databases, and web applications. It replaces VPNs and shared credentials with certificate-based authentication, session recording, and unified access controls. ## Install Save in your project root: # Teleport — Secure Infrastructure Access Platform ## Quick Use ```bash # Install Teleport curl https://goteleport.com/static/install.sh | bash # Start a single-node cluster sudo teleport configure --cluster-name=example.teleport.sh --output=file sudo teleport start # Access web UI at https://localhost:3080 # SSH via Teleport (no SSH keys needed) tsh login --proxy=example.teleport.sh tsh ssh user@hostname # List available servers tsh ls ``` ## Introduction Teleport replaces traditional infrastructure access tools (VPNs, SSH keys, database passwords) with a unified, identity-based access platform. Instead of distributing and managing credentials, Teleport issues short-lived certificates tied to user identity. Every session is recorded, audited, and governed by role-based access policies. With over 20,000 GitHub stars, Teleport is used by companies like Nasdaq, IBM, Samsung, and Snowflake to secure access to their infrastructure. It provides a single gateway for SSH, Kubernetes, databases, Windows desktops, and web applications — with built-in compliance features. ## What Teleport Does Teleport acts as an identity-aware access proxy. Users authenticate once (via SSO, MFA, or hardware keys), and Teleport issues short-lived X.509 certificates for accessing resources. All sessions are recorded, all access is logged, and policies are enforced in real-time. No standing credentials exist — reducing the attack surface. ## Architecture Overview ``` [Users] SSO + MFA + Hardware Keys | [Teleport Proxy] Public-facing gateway TLS termination Web UI | [Teleport Auth] Certificate authority RBAC engine Session recording Audit log | +-------+-------+-------+-------+ | | | | | [SSH [K8s [DB [App [Windows] Access] Access] Access] Access] Access] Servers Clusters Postgres Web apps RDP Nodes kubectl MySQL Internal Desktop MongoDB dashboards ``` ## Self-Hosting & Configuration ```yaml # teleport.yaml — configuration teleport: nodename: teleport.example.com data_dir: /var/lib/teleport auth_service: enabled: true cluster_name: example.teleport.sh authentication: type: local second_factor: "on" webauthn: rp_id: example.teleport.sh proxy_service: enabled: true web_listen_addr: 0.0.0.0:443 public_addr: teleport.example.com:443 acme: enabled: true email: admin@example.com ssh_service: enabled: true labels: env: production team: engineering ``` ```bash # Add a server to the cluster sudo teleport node configure \ --token=invite-token \ --auth-server=teleport.example.com:443 \ --output=file sudo teleport start # Role-based access example tctl create <