Installing Teleport on Linux
Teleport maintains DEB and RPM package repositories for different operating systems, platforms, and Teleport versions. A server that installs Teleport from a DEB or RPM package must have systemd installed. You can also download TAR archives containing Teleport binaries.
Note that Teleport Agents should always use the one-line installation script
or teleport-update binary to install Teleport. Otherwise, they will fall
out-of-date, become incompatible with the cluster, and eventually disconnect.
Operating system support
| Operating System | teleport Daemon | tctl Admin Tool | tsh and Teleport Connect User Clients [1] | Web UI (via the browser) | tbot Daemon |
|---|---|---|---|---|---|
| Linux 3.2+ (RHEL/CentOS 7+, Rocky Linux 8+, Amazon Linux 2+, Amazon Linux 2023+, Ubuntu 16.04+, Debian 9+, SLES 12 SP 5+, and SLES 15 SP 5+) [2] | yes | yes | yes [3] | yes | yes |
[1] tsh is a Command Line Client (CLI) and Teleport Connect is a Graphical User Interface (GUI) desktop client. See Using Teleport Connect for usage and installation.
[2] Enhanced Session Recording requires Linux kernel v5.8+.
[3] Teleport Connect on Linux requires glibc 2.28+ present in Ubuntu 20.04+, Debian 10+, Fedora 37+.
For best results, Teleport clients (tsh, tctl, tbot) should be the same major version as the cluster they are connecting to. Teleport servers are compatible with clients that are on the same major version or one major version older. Teleport servers do not support clients that are on a newer major version. See our Upgrading guide for more information.
Installing Teleport as a cluster
These steps are specifically for the Teleport Enterprise (Self-Hosted) and Community Edition versions.
If you are starting out with Teleport, we recommend beginning with a Teleport Cloud account. From there, the only Teleport components you need to deploy yourself are Teleport Agents, which is discussed in the next section. If you are self-hosting a Teleport cluster, please take a look at our Linux Demo for the Teleport Community Edition or our Self-Hosting Teleport section in the docs for more information on Teleport Enterprise Self-Hosted.
- Teleport Enterprise Cloud (Managed)
- Teleport Enterprise (Self-Hosted)
- Teleport Community Edition
Teleport Enterprise Cloud is provisioned and managed for you so there are no install steps. The only Teleport components you need to deploy yourself are Teleport Agents.
TELEPORT_EDITION="enterprise"TELEPORT_VERSION="18.7.2"
Then, download and run the generic installation script on the server where you want to install Teleport:
curl https://cdn.teleport.dev/install.sh | bash -s ${TELEPORT_VERSION?} ${TELEPORT_EDITION?}
TELEPORT_EDITION="oss"TELEPORT_VERSION="18.7.2"
Then, download and run the generic installation script on the server where you want to install Teleport:
curl https://cdn.teleport.dev/install.sh | bash -s ${TELEPORT_VERSION?} ${TELEPORT_EDITION?}
Verify cluster installation
Run the following command to verify your installation:
teleport version
You should see output displaying the Teleport version number.
Checkpoint: Troubleshoot cluster installation issues
Success looks like: The system identifies the Teleport binary and returns a valid version number.
Cluster configuration
The above methods for installing Teleport on a Linux server do not generate a Teleport configuration file for you. For this, we have a teleport configure CLI command or you can create one manually.
See the following guides for help setting up a configuration file:
- Teleport Configuration Reference: This will provide you with the command you need to generate and populate the
/etc/config.yamlfile as well as further configuration options for your cluster. - Self-Hosted Demo Cluster: If you are deploying the Teleport Auth Service and Proxy Service, read this guide for an example of a configuration file.
Installing Teleport as an agent
The easiest way to install Teleport as an agent is through the Web UI at /web/discover, where you can select a resource to enroll with your Teleport cluster and retrieve an "all-in-one" installation script to run on Linux hosts.
One-line installation script
Outside of the Web UI, you can run our one-line cluster install script on your Linux server where you are deploying Teleport as an agent. This script will detect and use the best version, edition, and installation mode for your cluster.
- Assign example.teleport.sh:443 to your Teleport cluster hostname and Web UI port. This should contain your cluster hostname and port, but not the scheme (https://).
- Run your cluster's install script:
curl "https://example.teleport.sh:443/scripts/install.sh" | sudo bash
You can also use the example Terraform module for deploying agents in Deploy Agents with Terraform.
Verify agent installation
Run the following commands to verify your agent installation:
teleport versionsudo systemctl status teleport
You should see the Teleport version and a status showing the service is active and running.
Checkpoint: Troubleshoot agent installation issues
Success looks like: The Teleport version is displayed and the service status is reported as active and running.
Agent configuration
Outside of deploying Teleport as an agent in the Web UI, the methods for installing Teleport on a Linux server do not generate a Teleport configuration file for you. You will need to generate one prior to starting the Teleport service.
See the following guides for examples of setting up a configuration file:
- Enroll Resources: Guides to setting up Teleport Agents in order to enroll infrastructure resources in your cluster. These guides include examples of setting up Teleport configuration files.
- Self-Hosted Demo Cluster: If you are deploying the Teleport Auth Service and Proxy Service, read this guide for an example of a configuration file.
- Teleport Configuration Reference: A guide to all configuration fields.
Other install methods
Use this section if you are not using the one-line installation script.
Choose one of the following methods:
- Install using package repositories
- Install manually (TAR, DEB, RPM)
Use this method to install Teleport through your system's package manager.
Source OS release variables
-
Run:
. /etc/os-release && echo "$NAME $VERSION_ID"Checkpoint: Verify OS release variables
Success looks like: The output displays valid identifiers for your distribution and version.
Verify your distribution is supported
-
Confirm that your distribution appears in the table below.
Distribution Version IDvalue in/etc/os-releaseAmazon Linux 2 and 2023 amznCentOS >= 7 centosDebian >= 9 debianRHEL >= 7 rhelRocky Linux >= 8 rockySLES >= 12 SP5, >= 15 SP5 slesUbuntu >= 16.04 ubuntu
Teleport does not currently provide a YUM repository for RHEL 10. Attempting to follow the standard YUM installation instructions on
RHEL 10 will result in HTTP 404 errors. To install Teleport on RHEL 10, use the one-line installation script
for the initial setup and Managed Updates v2 to maintain the installation.
-
If
IDis not listed, check:echo $ID_LIKEIf one of those values appears in the table, use it instead.
Set required environment variables
-
Assign the package name.
Community Edition:
export TELEPORT_PKG=teleport # Community EditionOr Enterprise:
export TELEPORT_PKG=teleport-ent # EnterpriseAssign the release channel:
export TELEPORT_VERSION=v18export TELEPORT_CHANNEL=stable/${TELEPORT_VERSION?}
Install using package repositories
-
Follow the instructions for your package manager:
- apt
- yum
- dnf
- zypper
sudo mkdir -p /etc/apt/keyringssudo curl https://apt.releases.teleport.dev/gpg \ -o /etc/apt/keyrings/teleport-archive-keyring.ascecho "deb [signed-by=/etc/apt/keyrings/teleport-archive-keyring.asc] \https://apt.releases.teleport.dev/${ID?} ${VERSION_CODENAME?} \${TELEPORT_CHANNEL?}" \ | sudo tee /etc/apt/sources.list.d/teleport.list > /dev/nullsudo apt-get updatesudo apt-get install ${TELEPORT_PKG?}VERSION_ID=$(echo $VERSION_ID | grep -Eo "^[0-9]+")sudo yum install -y yum-utilssudo yum-config-manager --add-repo "$(rpm --eval "https://yum.releases.teleport.dev/$ID/$VERSION_ID/Teleport/%{_arch}/${TELEPORT_CHANNEL?}/teleport.repo")"sudo yum install ${TELEPORT_PKG?}Ensure config-manager exists
sudo dnf install -y dnf-plugins-coreUse RHEL repo path + major version
REPO_ID="rhel"REPO_VERSION_ID="$(echo "$VERSION_ID" | grep -Eo '^[0-9]+')" # "8.10" -> "8"ARCH="$(rpm --eval '%{_arch}')"sudo dnf config-manager --add-repo \"https://yum.releases.teleport.dev/${REPO_ID}/${REPO_VERSION_ID}/Teleport/${ARCH}/${TELEPORT_CHANNEL}/teleport.repo"Install
sudo dnf install -y "${TELEPORT_PKG?}" # e.g., teleport / teleport-entNote: Teleport currently provides RPM packages for SLES 15. On newer SLES releases (for example, SLES 16), use the sles/15 repository path.
export TELEPORT_VERSION=v18export TELEPORT_CHANNEL="stable/${TELEPORT_VERSION}"export TELEPORT_PKG=teleport # or teleport-entARCH="$(rpm --eval '%{_arch}')"sudo zypper ar -f -t rpm-md \ "https://zypper.releases.teleport.dev/sles/15/Teleport/${ARCH}/${TELEPORT_CHANNEL}/" teleportIMPORTANT: repo does not define `gpgkey=` URLs; import key explicitly
sudo rpm --import https://zypper.releases.teleport.dev/gpgsudo zypper refresh teleportsudo zypper install -y "${TELEPORT_PKG?}"Verify the installation
-
Run:
teleport versionCheckpoint: Troubleshoot repository installation issues
Success looks like: The package manager confirms installation and the version command returns successfully.
Install manually (TAR, DEB, RPM)
Use this method if you prefer to install from release archives or operate in restricted environments.
Set the package name, version, and architecture
-
Assign the appropriate package:
TELEPORT_PKG=teleport # Community EditionTELEPORT_PKG=teleport-ent # Enterprise -
Determine your system architecture:
uname -mMap the CPU architecture to a supported build:
uname -moutputSYSTEM_ARCHvaluex86_64 amd64 aarch64 arm64 armv7l arm i686 386 Checkpoint: Verify system architecture
Success looks like: The architecture matches the Teleport build you download.
-
Assign version and architecture variables:
TELEPORT_VERSION=18.7.2SYSTEM_ARCH=""
Download and install
These steps use sha256sum, which is available by default on most modern Linux
distributions. On older systems where sha256sum is not available, use
shasum --check --algorithm 256 instead.
-
Download and install using your preferred format:
- TAR
- DEB
- RPM
curl -O https://cdn.teleport.dev/${TELEPORT_PKG?}-v${TELEPORT_VERSION?}-linux-${SYSTEM_ARCH?}-bin.tar.gz.sha256curl -O https://cdn.teleport.dev/${TELEPORT_PKG?}-v${TELEPORT_VERSION?}-linux-${SYSTEM_ARCH?}-bin.tar.gzsha256sum --check < ${TELEPORT_PKG?}-v${TELEPORT_VERSION?}-linux-${SYSTEM_ARCH?}-bin.tar.gz.sha256teleport-ent-v18.7.1-linux-amd64-bin.tar.gz: OK
tar -xvf ${TELEPORT_PKG?}-v${TELEPORT_VERSION?}-linux-${SYSTEM_ARCH?}-bin.tar.gzcd ${TELEPORT_PKG?}sudo ./teleport-update enable --proxy example.teleport.sh # or sudo ./install for static installationcurl -O https://cdn.teleport.dev/${TELEPORT_PKG?}_${TELEPORT_VERSION?}_${SYSTEM_ARCH?}.deb.sha256curl -O https://cdn.teleport.dev/${TELEPORT_PKG?}_${TELEPORT_VERSION?}_${SYSTEM_ARCH?}.debsha256sum --check ${TELEPORT_PKG?}_${TELEPORT_VERSION?}_${SYSTEM_ARCH?}.deb.sha256teleport-ent_18.7.1_amd64.deb: OK
sudo dpkg -i ${TELEPORT_PKG?}_${TELEPORT_VERSION?}_${SYSTEM_ARCH?}.debManaged updates are recommended for agents
sudo teleport-update enable --proxy example.teleport.shNote: Use
export SYSTEM_ARCH=x86_64for RPM installations.curl -O https://cdn.teleport.dev/${TELEPORT_PKG?}-${TELEPORT_VERSION?}-1.${SYSTEM_ARCH?}.rpm.sha256curl -O https://cdn.teleport.dev/${TELEPORT_PKG?}-${TELEPORT_VERSION?}-1.${SYSTEM_ARCH?}.rpmsha256sum --check ${TELEPORT_PKG?}-${TELEPORT_VERSION?}-1.${SYSTEM_ARCH?}.rpm.sha256teleport-ent-18.7.1-1.x86_64.rpm: OK
sudo rpm -i ${TELEPORT_PKG?}-${TELEPORT_VERSION?}-1.${SYSTEM_ARCH?}.rpmsudo teleport-update enable --proxy example.teleport.sh
Verify the installation
-
Run:
teleport versionCheckpoint: Troubleshoot manual installation issues
Success looks like: Teleport binaries are accessible from your system path and the version command executes successfully.
From your browser
For Teleport Community Edition, check the Downloads page for the most up-to-date information.
On cloud-hosted Teleport Enterprise you can visit a download page in the Web UI. Select the user name in the upper right and select Downloads from the menu.
Customers who self-host Teleport Enterprise can access Enterprise downloads and their license file from their dedicated account dashboard.