diff --git a/docs/pages/application-access/getting-started.mdx b/docs/pages/application-access/getting-started.mdx index faa7ed2e2da09..8b2b318998acc 100644 --- a/docs/pages/application-access/getting-started.mdx +++ b/docs/pages/application-access/getting-started.mdx @@ -119,7 +119,7 @@ Alternatively, log in to the Teleport Web Interface at `https://teleport.example Dive deeper into the topics relevant to your Application Access use-case: -- Learn in more detail about [connecting applications](./guides/connecting-apps.mdx) with Application Access. +- Learn in more detail about [connecting applications](./guides/connecting-apps.mdx). - Learn about integrating with [JWT tokens](./jwt/introduction.mdx) for auth. - Learn how to use application access with [RESTful APIs](./guides/api-access.mdx). - See full configuration and CLI [reference](./reference.mdx). diff --git a/docs/pages/includes/install-linux.mdx b/docs/pages/includes/install-linux.mdx index 5e69079115844..b205c243240d1 100644 --- a/docs/pages/includes/install-linux.mdx +++ b/docs/pages/includes/install-linux.mdx @@ -1,24 +1,9 @@ - - -Visit your [Teleport account](https://teleport.sh) and select the URL for your package of choice. - - - - - -Visit the [Downloads Page](/docs/choose-an-edition/teleport-cloud/downloads.mdx) -and select the URL for your package of choice. - - - Use the appropriate commands for your environment to install your package. - - - Add the Teleport repository to your repository list: + ```code # Download Teleport's PGP public key @@ -28,9 +13,6 @@ Use the appropriate commands for your environment to install your package. $ source /etc/os-release # Add the Teleport APT repository for v(=teleport.major_version=). You'll need to update this # file for each major release of Teleport. - # Note: if using a fork of Debian or Ubuntu you may need to use '$ID_LIKE' - # and the codename your distro was forked from instead of '$ID' and '$VERSION_CODENAME'. - # Supported versions are listed here: https://github.com/gravitational/teleport/blob/master/build.assets/tooling/cmd/build-os-package-repos/runners.go#L42-L67 $ echo "deb [signed-by=/usr/share/keyrings/teleport-archive-keyring.asc] \ https://apt.releases.teleport.dev/${ID?} ${VERSION_CODENAME?} stable/v(=teleport.major_version=)" \ | sudo tee /etc/apt/sources.list.d/teleport.list > /dev/null @@ -40,52 +22,50 @@ Use the appropriate commands for your environment to install your package. ``` - + ```code # Source variables about OS version $ source /etc/os-release # Add the Teleport YUM repository for v(=teleport.major_version=). You'll need to update this # file for each major release of Teleport. - # Note: if using a fork of RHEL/CentOS or Amazon Linux you may need to use '$ID_LIKE' - # and the codename your distro was forked from instead of '$ID' - # Supported versions are listed here: https://github.com/gravitational/teleport/blob/master/build.assets/tooling/cmd/build-os-package-repos/runners.go#L133-L153 - $ sudo yum-config-manager --add-repo $(rpm --eval "https://yum.releases.teleport.dev/$ID/$VERSION_ID/Teleport/%{_arch}/stable/v(=teleport.major_version=)/teleport.repo") + $ sudo yum-config-manager --add-repo "$(rpm --eval "https://yum.releases.teleport.dev/$ID/$VERSION_ID/Teleport/%{_arch}/stable/v(=teleport.major_version=)/teleport.repo")" $ sudo yum install teleport # # Tip: Add /usr/local/bin to path used by sudo (so 'sudo tctl users add' will work as per the docs) # echo "Defaults secure_path = /sbin:/bin:/usr/sbin:/usr/bin:/usr/local/bin" > /etc/sudoers.d/secure_path - # - # Optional: Use DNF on newer distributions - # $ sudo dnf config-manager --add-repo https://rpm.releases.teleport.dev/teleport.repo - # $ sudo dnf install teleport ``` - - - Amazon Linux 2023 users should utilize the tarball or RPM file to install Teleport. - You can download the matching RPM architecture for your instance - from the [Teleport Downloads page](https://goteleport.com/download) and install with the example command below. + + ```code - # Replace with the architecture type (amd64, arm64,...) - $ rpm -i teleport-(=teleport.version=)-1..rpm + # Source variables about OS version + $ source /etc/os-release + # Add the Teleport YUM repository for v(=teleport.major_version=). You'll need to update this + # file for each major release of Teleport. + # Use the dnf config manager plugin to add the teleport RPM repo + $ sudo dnf config-manager --add-repo "$(rpm --eval "https://yum.releases.teleport.dev/$ID/$VERSION_ID/Teleport/%{_arch}/stable/v(=teleport.major_version=)/teleport.repo")" + + # Install teleport + $ sudo dnf install teleport + + # Tip: Add /usr/local/bin to path used by sudo (so 'sudo tctl users add' will work as per the docs) + # echo "Defaults secure_path = /sbin:/bin:/usr/sbin:/usr/bin:/usr/local/bin" > /etc/sudoers.d/secure_path ``` - - - In the example commands below, update `$SYSTEM-ARCH` with the appropriate + In the example commands below, update `$SYSTEM_ARCH` with the appropriate value (`amd64`, `arm64`, or `arm`). All example commands using this variable will update after one is filled out. ```code - $ curl https://get.gravitational.com/teleport-v(=teleport.version=)-linux--bin.tar.gz.sha256 + $ curl https://get.gravitational.com/teleport-v(=teleport.version=)-linux--bin.tar.gz.sha256 # - $ curl -O https://cdn.teleport.dev/teleport-v(=teleport.version=)-linux--bin.tar.gz - $ shasum -a 256 teleport-v(=teleport.version=)-linux--bin.tar.gz + $ curl -O https://cdn.teleport.dev/teleport-v(=teleport.version=)-linux--bin.tar.gz + $ shasum -a 256 teleport-v(=teleport.version=)-linux--bin.tar.gz # Verify that the checksums match - $ tar -xvf teleport-v(=teleport.version=)-linux--bin.tar.gz + $ tar -xvf teleport-v(=teleport.version=)-linux--bin.tar.gz $ cd teleport $ sudo ./install ``` @@ -94,46 +74,90 @@ Use the appropriate commands for your environment to install your package. + + - In the example commands below, update `$SYSTEM-ARCH` with the appropriate - value (`amd64`, `arm64`, or `arm`). All example commands using this variable - will update after one is filled out. + ```code + # Download Teleport's PGP public key + $ sudo curl https://apt.releases.teleport.dev/gpg \ + -o /usr/share/keyrings/teleport-archive-keyring.asc + # Source variables about OS version + $ source /etc/os-release + # Add the Teleport APT repository for v(=teleport.major_version=). You'll need to update this + # file for each major release of Teleport. + $ echo "deb [signed-by=/usr/share/keyrings/teleport-archive-keyring.asc] \ + https://apt.releases.teleport.dev/${ID?} ${VERSION_CODENAME?} stable/v(=teleport.major_version=)" \ + | sudo tee /etc/apt/sources.list.d/teleport.list > /dev/null - - + $ sudo apt-get update + $ sudo apt-get install teleport-ent + ``` - After Downloading the `.deb` file for your system architecture, install it with - `dpkg`. The example below assumes the `root` user: + For FedRAMP/FIPS-compliant installations, install the `teleport-ent-fips` package instead: ```code - $ dpkg -i ~/Downloads/teleport-ent_(=teleport.version=)_.deb - Selecting previously unselected package teleport-ent. - (Reading database ... 30810 files and directories currently installed.) - Preparing to unpack teleport-ent_(=teleport.version=)_$SYSTEM_ARCH.deb ... - Unpacking teleport-ent (=teleport.version=) ... - Setting up teleport-ent (=teleport.version=) ... + $ sudo apt-get install teleport-ent-fips ``` - + - After Downloading the `.rpm` file for your system architecture, install it with `rpm`: + ```code + # Source variables about OS version + $ source /etc/os-release + # Add the Teleport YUM repository for v(=teleport.major_version=). You'll need to update this + # file for each major release of Teleport. + $ sudo yum-config-manager --add-repo "$(rpm --eval "https://yum.releases.teleport.dev/$ID/$VERSION_ID/Teleport/%{_arch}/stable/v(=teleport.major_version=)/teleport.repo")" + $ sudo yum install teleport-ent + # + # Tip: Add /usr/local/bin to path used by sudo (so 'sudo tctl users add' will work as per the docs) + # echo "Defaults secure_path = /sbin:/bin:/usr/sbin:/usr/bin:/usr/local/bin" > /etc/sudoers.d/secure_path + ``` + + For FedRAMP/FIPS-compliant installations, install the `teleport-ent-fips` package instead: ```code - $ rpm -i ~/Downloads/teleport-ent-(=teleport.version=)..rpm - warning: teleport-ent-(=teleport.version=).$SYSTEM-ARCH.rpm: Header V4 RSA/SHA512 Signature, key ID 6282c411: NOKEY + $ sudo yum install teleport-ent-fips + ``` + + + + + ```code + # Source variables about OS version + $ source /etc/os-release + # Add the Teleport YUM repository for v(=teleport.major_version=). You'll need to update this + # file for each major release of Teleport. + # Use the dnf config manager plugin to add the teleport RPM repo + $ sudo dnf config-manager --add-repo "$(rpm --eval "https://yum.releases.teleport.dev/$ID/$VERSION_ID/Teleport/%{_arch}/stable/v(=teleport.major_version=)/teleport.repo")" + + # Install teleport + $ sudo dnf install teleport-ent + + # Tip: Add /usr/local/bin to path used by sudo (so 'sudo tctl users add' will work as per the docs) + # echo "Defaults secure_path = /sbin:/bin:/usr/sbin:/usr/bin:/usr/local/bin" > /etc/sudoers.d/secure_path + ``` + + For FedRAMP/FIPS-compliant installations, install the `teleport-ent-fips` package instead: + + ```code + $ sudo dnf install teleport-ent-fips ``` + In the example commands below, update `$SYSTEM_ARCH` with the appropriate + value (`amd64`, `arm64`, or `arm`). All example commands using this variable + will update after one is filled out. + ```code - $ curl https://get.gravitational.com/teleport-ent-v(=teleport.version=)-linux--bin.tar.gz.sha256 + $ curl https://get.gravitational.com/teleport-ent-v(=teleport.version=)-linux--bin.tar.gz.sha256 # - $ curl -O https://cdn.teleport.dev/teleport-ent-v(=teleport.version=)-linux--bin.tar.gz - $ shasum -a 256 teleport-ent-v(=teleport.version=)-linux--bin.tar.gz + $ curl -O https://cdn.teleport.dev/teleport-ent-v(=teleport.version=)-linux--bin.tar.gz + $ shasum -a 256 teleport-ent-v(=teleport.version=)-linux--bin.tar.gz # Verify that the checksums match - $ tar -xvf teleport-ent-v(=teleport.version=)-linux--bin.tar.gz + $ tar -xvf teleport-ent-v(=teleport.version=)-linux--bin.tar.gz $ cd teleport-ent $ sudo ./install ``` @@ -142,12 +166,12 @@ Use the appropriate commands for your environment to install your package. will be slightly different: ```code - $ curl https://get.gravitational.com/teleport-ent-v(=teleport.version=)-linux--fips-bin.tar.gz.sha256 + $ curl https://get.gravitational.com/teleport-ent-v(=teleport.version=)-linux--fips-bin.tar.gz.sha256 # - $ curl -O https://cdn.teleport.dev/teleport-ent-v(=teleport.version=)-linux--fips-bin.tar.gz - $ shasum -a 256 teleport-ent-v(=teleport.version=)-linux--fips-bin.tar.gz + $ curl -O https://cdn.teleport.dev/teleport-ent-v(=teleport.version=)-linux--fips-bin.tar.gz + $ shasum -a 256 teleport-ent-v(=teleport.version=)-linux--fips-bin.tar.gz # Verify that the checksums match - $ tar -xvf teleport-ent-v(=teleport.version=)-linux--fips-bin.tar.gz + $ tar -xvf teleport-ent-v(=teleport.version=)-linux--fips-bin.tar.gz $ cd teleport-ent $ sudo ./install ``` @@ -156,41 +180,66 @@ Use the appropriate commands for your environment to install your package. - - In the example commands below, update `$SYSTEM-ARCH` with the appropriate - value (`amd64`, `arm64`, or `arm`). All example commands using this variable - will update after one is filled out. - - + - After Downloading the `.deb` file for your system architecture, install it with - `dpkg`. The example below assumes the `root` user: + Add the Teleport repository to your repository list: ```code - $ dpkg -i ~/Downloads/teleport-ent_(=cloud.version=)_.deb - Selecting previously unselected package teleport-ent. - (Reading database ... 30810 files and directories currently installed.) - Preparing to unpack teleport-ent_(=cloud.version=)_$SYSTEM_ARCH.deb ... - Unpacking teleport-ent (=cloud.version=) ... - Setting up teleport-ent (=cloud.version=) ... + # Download Teleport's PGP public key + $ sudo curl https://apt.releases.teleport.dev/gpg \ + -o /usr/share/keyrings/teleport-archive-keyring.asc + # Source variables about OS version + $ source /etc/os-release + # Add the Teleport apt repository for cloud. + $ echo "deb [signed-by=/usr/share/keyrings/teleport-archive-keyring.asc] \ + https://apt.releases.teleport.dev/${ID?} ${VERSION_CODENAME?} stable/cloud" \ + | sudo tee /etc/apt/sources.list.d/teleport.list > /dev/null + + $ sudo apt-get update + $ sudo apt-get install teleport-ent ``` - + - After Downloading the `.rpm` file for your system architecture, install it with `rpm`: + ```code + # Source variables about OS version + $ source /etc/os-release + # Add the Teleport yum repository for cloud. + $ sudo yum-config-manager --add-repo "$(rpm --eval "https://yum.releases.teleport.dev/$ID/$VERSION_ID/Teleport/%{_arch}/stable/cloud/teleport.repo")" + $ sudo yum install teleport-ent + # + # Tip: Add /usr/local/bin to path used by sudo (so 'sudo tctl users add' will work as per the docs) + # echo "Defaults secure_path = /sbin:/bin:/usr/sbin:/usr/bin:/usr/local/bin" > /etc/sudoers.d/secure_path + ``` + + + ```code - $ rpm -i ~/Downloads/teleport-ent-(=cloud.version=)..rpm - warning: teleport-ent-(=cloud.version=).$SYSTEM-ARCH.rpm: Header V4 RSA/SHA512 Signature, key ID 6282c411: NOKEY + # Source variables about OS version + $ source /etc/os-release + # Add the Teleport yum repository for cloud. + # Use the dnf config manager plugin to add the teleport RPM repo + $ sudo dnf config-manager --add-repo "$(rpm --eval "https://yum.releases.teleport.dev/$ID/$VERSION_ID/Teleport/%{_arch}/stable/cloud/teleport.repo")" + + # Install teleport + $ sudo dnf install teleport-ent + + # Tip: Add /usr/local/bin to path used by sudo (so 'sudo tctl users add' will work as per the docs) + # echo "Defaults secure_path = /sbin:/bin:/usr/sbin:/usr/bin:/usr/local/bin" > /etc/sudoers.d/secure_path ``` + In the example commands below, update `$SYSTEM_ARCH` with the appropriate + value (`amd64`, `arm64`, or `arm`). All example commands using this variable + will update after one is filled out. + ```code - $ curl https://get.gravitational.com/teleport-ent-v(=cloud.version=)-linux--bin.tar.gz.sha256 + $ curl https://get.gravitational.com/teleport-ent-v(=cloud.version=)-linux--bin.tar.gz.sha256 # $ curl -O https://cdn.teleport.dev/teleport-ent-v(=cloud.version=)-linux-amd64-bin.tar.gz $ shasum -a 256 teleport-ent-v(=cloud.version=)-linux-amd64-bin.tar.gz diff --git a/docs/pages/installation.mdx b/docs/pages/installation.mdx index 7e434307f31d2..13c2e9896bdd5 100644 --- a/docs/pages/installation.mdx +++ b/docs/pages/installation.mdx @@ -50,6 +50,33 @@ supports most features on Windows 10 and later.* All installations include `teleport`, `tsh`, `tctl`, and `tbot`. +### Feature support + +Some Teleport features have additional requirements: + +| Feature | Requirement | Debian | Ubuntu | CentOS/RHEL | AmazonLinux | +|--------------------------------------------------------------------------------|---------------|--------------------------|----------|-------------|------------------------| +| [Enhanced Session Recording](./server-access/guides/bpf-session-recording.mdx) | Kernel v5.8+ | 11, or 10 with backports | 20.04.2+ | 9+ | 2 (post 11/2021), 2023 | +| Automatic Updates | systemd-based | 8+ | 16.04+ | 7+ | 2, 2023 | +| Installation through apt/yum repos | systemd-based | 8+ | 16.04+ | 7+ | 2, 2023 | + + +`apt` and `yum` repos don't expose packages for all distribution variants. +When following installation instructions, you might need to replace `ID` with +`ID_LIKE` to install packages of the closest supported distribution. + +Currently supported distributions (and `ID`) are: +- RHEL >= 7 (`rhel`) +- CentOS >= 7 (`centos`) +- Debian >= 8 (`debian`) +- Ubuntu >= 16.04 (`ubuntu`) +- Amazon Linux 2 and 2023 (`amzn`) + + + + +### Installation instructions + (!docs/pages/includes/permission-warning.mdx!) (!docs/pages/includes/install-linux.mdx!)