This guide walks you through deploying a self-hosted Teleport Community Edition cluster on a single Linux server. The resulting cluster runs the Auth Service, Proxy Service, and SSH Service in a singleDocumentation 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.
teleport process — ideal for homelabs, staging environments, or evaluating Teleport before a production deployment.
The Teleport Auth Service and Proxy Service together form the control plane of your cluster. The SSH Service is an example of a Teleport agent that manages access to a resource — in this case, the Linux host itself.
If you want to skip infrastructure provisioning and start using Teleport immediately, sign up for a free Teleport Enterprise Cloud trial. The Cloud Quickstart covers that path.
Prerequisites
-
A Linux host (physical, VM, or cloud instance such as AWS EC2) with:
- Port
443open to inbound traffic from the internet (or your users’ network). - The ability to install software and run commands as
rootor viasudo.
- Port
-
A registered domain name with two DNS
Arecords pointing to the host’s public IP:Record Purpose teleport.example.comTraffic to the Proxy Service from users and agents *.teleport.example.comSubdomains for web apps registered with Teleport - A multi-factor authenticator app such as Authy, Google Authenticator, or 1Password.
Install Teleport
Choose the installation method that matches your Linux distribution. All methods install the same Verify the installation:
teleport, tsh, and tctl binaries.Configure teleport.yaml
Generate a minimal configuration file using the This writes a configuration file to
teleport configure command. The command requires a domain name and a TLS certificate./etc/teleport.yaml. The generated file contains three service stanzas:The SSH Service is enabled by default. This means the host running Teleport will automatically enroll itself as an SSH node in your cluster — you can SSH into it immediately after completing setup.
Start the Teleport service
Enable and start the Teleport Check that the service started cleanly:You should see Once running, open your browser at
systemd unit:active (running). If Teleport fails to start, check the logs:https://teleport.example.com. You should see the Teleport welcome screen. Accept the Community Edition terms to proceed.Create the first admin user with tctl
tctl is the Teleport administration CLI. On your Teleport host, run the following command to create a local user named teleport-admin with full administrative privileges:The
--logins flag specifies which OS user accounts on SSH hosts this Teleport user is allowed to use. The accounts listed (root, ubuntu, ec2-user) must already exist on the target Linux host or you will receive an authentication error when you try to connect. Create any missing accounts with sudo adduser <login> before connecting.Log in with tsh
Install Authenticate against your self-hosted cluster:After completing MFA, you receive a short-lived certificate:
tsh on your local workstation (the machine you use day-to-day, not the Teleport server):Connect to the enrolled node
Because the Teleport SSH Service is running on the same host as your cluster, that host is already enrolled as an SSH node. List available nodes:Open an SSH session:You are now inside an SSH session proxied through Teleport. The session is fully recorded and emits structured audit events. To verify, open the Teleport Web UI, navigate to Audit → Session Recordings, and find the session you just created.
Next steps
Enroll more servers
Add more Linux servers to your cluster using the Web UI guided workflow or the Teleport install script.
Add Kubernetes access
Deploy the Teleport Kubernetes Service to proxy
kubectl traffic with RBAC and full audit logging.Configure access controls
Create custom roles that enforce least-privilege access and restrict users to the specific resources they need.
Set up SSO
Integrate with Okta, GitHub, Microsoft Entra ID, or another SAML/OIDC provider so your team logs in with existing credentials.
Cluster architecture
Learn how to scale your self-hosted deployment with separate Auth and Proxy Service instances for high availability.
Configuration reference
Explore the full
teleport.yaml configuration file reference for all available options and service settings.