Files
teleport/docs/pages/installation.mdx
T
Paul Gottschling a7efb81902 Situate the Installation guide more clearly (#9524)
* Situate the Installation guide more clearly

For a reader who begins their journey through the Teleport docs
with the Installation guide, it can be difficult to determine
what to do after following the guide. This change makes the
relationship between the Installation page and other docs pages
clearer by:

- Adding an Admonition to read the Getting Started guides if you
  have not yet tried Teleport. These guides include installation
  instructions, so they can be our recommended starting place.

- Adding a Next Steps section that links to instructions on
  enabling Teleport for different infrastructure resources.

Closes #9355

* Respond to PR feedback
2022-03-18 16:19:01 +00:00

191 lines
7.4 KiB
Plaintext

---
title: Installing Teleport
description: The guide for installing Teleport on servers and into Kubernetes clusters.
h1: Installation
---
Teleport core service [`teleport`](./setup/reference/cli.mdx#teleport) and admin tool [`tctl`](./setup/reference/cli.mdx#tctl) have been designed to run on **Linux** and **Mac** operating systems. The Teleport user client [`tsh`](./setup/reference/cli.mdx#tsh) and UI are available for **Linux, Mac**, and **Windows** operating systems.
<Admonition type="tip" title="First time trying Teleport?">
If you are new to Teleport, we recommend following our [getting started guides](getting-started.mdx).
</Admonition>
## Linux
The following examples install the 64-bit version of Teleport binaries, but
32-bit (i386) and ARM binaries are also available. Check the [Latest
Release](https://goteleport.com/download/) page for the most
up-to-date information.
(!docs/pages/includes/permission-warning.mdx!)
(!docs/pages/includes/install-linux.mdx!)
## Docker
Please follow our [Getting started with Teleport using Docker](./setup/guides/docker.mdx) or with [Teleport Enterprise using Docker](enterprise/getting-started.mdx#run-teleport-enterprise-using-docker) for install and setup instructions.
```code
$ docker pull (=teleport.latest_oss_docker_image=)
```
## Helm
Please follow our [Getting Started with Kubernetes Access](./kubernetes-access/getting-started.mdx) or [Helm Chart Readme](https://github.com/gravitational/teleport/tree/master/examples/chart/teleport) for install and setup instructions.
```code
$ helm repo add teleport https://charts.releases.teleport.dev
```
## MacOS
<Tabs>
<TabItem label="Download">
[Download MacOS .pkg installer](https://goteleport.com/teleport/download?os=mac) (tsh client only, signed) file, double-click to run the Installer.
<Admonition type="note">
This method only installs the `tsh` client for interacting with Teleport clusters.
If you need the `teleport` server or `tctl` admin tool, use the "Terminal" method instead.
</Admonition>
</TabItem>
<TabItem label="Homebrew">
```code
$ brew install teleport
```
<Admonition type="note">
The Teleport package in Homebrew is not maintained by Teleport and we can't
guarantee its reliability or security. We recommend the use of our [own
Teleport packages](https://goteleport.com/teleport/download?os=mac).
</Admonition>
<Admonition type="note">
If you choose to use Homebrew, you must verify that the versions of `tsh` and
`tctl` are compatible with the versions you run server-side. Homebrew usually
ships the latest release of Teleport, which may be incompatible with older
versions. See our [compatibility
policy](./setup/operations/upgrading.mdx) for details.
</Admonition>
</TabItem>
<TabItem label="Terminal">
```code
$ curl -O https://get.gravitational.com/teleport-(=teleport.version=).pkg
$ sudo installer -pkg teleport-(=teleport.version=).pkg -target / # Installs on Macintosh HD
# Password:
# installer: Package name is teleport-(=teleport.version=)
# installer: Upgrading at base path /
# installer: The upgrade was successful.
$ which teleport
# /usr/local/bin/teleport
```
</TabItem>
</Tabs>
## Windows (tsh client only)
As of version v3.0.1 we have `tsh` client binary available for Windows 64-bit
architecture - `teleport` and `tctl` are not supported. Most `tsh` features are
supported under Windows 10 1607+ as of Teleport v7.2. We support running
`tsh ssh` under `cmd.exe`, PowerShell, and the Windows Terminal app.
<Tabs>
<TabItem label="Powershell">
```code
$ curl https://get.gravitational.com/teleport-v(=teleport.version=)-windows-amd64-bin.zip.sha256
# <checksum> <filename>
$ curl -O teleport-v(=teleport.version=)-windows-amd64-bin.zip https://get.gravitational.com/teleport-v(=teleport.version=)-windows-amd64-bin.zip
$ echo %PATH% # Edit %PATH% if necessary
$ certUtil -hashfile teleport-v(=teleport.version=)-windows-amd64-bin.zip SHA256
# SHA256 hash of teleport-v(=teleport.version=)-windows-amd64-bin.zip:
# <checksum> <filename>
# CertUtil: -hashfile command completed successfully.
# Verify that the checksums match
# Move `tsh` to your %PATH%
```
</TabItem>
</Tabs>
## Installing from source
Gravitational Teleport is written in Go language. It requires **Golang v(=teleport.golang=)**
or newer. Check [the repo README](https://github.com/gravitational/teleport#building-teleport) for the
latest requirements.
### Install Go
If you don't already have Golang installed you can [see installation
instructions here](https://golang.org/doc/install). If you are new to Go there are a few quick setup things to note:
- Go installs all dependencies *for all projects* in a single directory
determined by the `$GOPATH` variable. The default directory is
`GOPATH=$HOME/go` but you can set it to any directory you wish.
- If you plan to use Golang for more than just this installation you may want to
`echo "export GOPATH=$HOME/go" >> ~/.bashrc` (or your shell config).
### Build Teleport
```code
# get the source & build:
$ mkdir -p $GOPATH/src/github.com/gravitational
$ cd $GOPATH/src/github.com/gravitational
$ git clone https://github.com/gravitational/teleport.git
$ cd teleport
# Make sure you have `zip` installed - the Makefile uses it
$ make full
# create the default data directory before running `teleport`
$ sudo mkdir -p /var/lib/teleport
$ sudo chown $USER /var/lib/teleport
```
If the build succeeds, the binaries `teleport, tsh`, and `tctl` are now in the directory `$GOPATH/src/github.com/gravitational/teleport/build`
{
/* Notes on what to do if the build does not succeed, troubleshooting */
}
## Checksums
Gravitational Teleport provides a checksum from the [Downloads](https://gravitational.com/teleport/download/). This should be used to verify the integrity of our binary.
![Teleport Checksum](../img/teleport-sha.png)
If you download Teleport via an automated system, you can programmatically
obtain the checksum by adding `.sha256` to the binary. This is the method shown
in the installation examples.
```code
$ export version=v(=teleport.version=)
$ export os=linux # 'darwin' 'linux' or 'windows'
$ export arch=amd64 # '386' 'arm' on linux or 'amd64' for all distros
$ curl https://get.gravitational.com/teleport-$version-$os-$arch-bin.tar.gz.sha256
# <checksum> <filename>
```
## Operating System support
Teleport is officially supported on the platforms listed below. It is worth noting
that the open-source community has been successful in building and running Teleport on UNIX variants other than Linux \[1].
| Operating System | Teleport Client | Teleport Server |
| - | - | - |
| Linux v2.6.23+ | yes | yes |
| MacOS v10.12+ | yes | yes |
| Windows \[2] | yes \[2] | no |
\[1] *Teleport is written in Go and it's possible to build it on
any OS supported by the [Golang toolchain](https://github.com/golang/go/wiki/MinimumRequirements)*.
\[2] *Teleport server does not run on Windows yet, but `tsh` (the Teleport client)
supports most features on Windows 10 and later.*
## Next steps
Now that you know how to install Teleport, you can enable access to all of your infrastructure. Get started with:
- [Server Access](server-access/introduction.mdx)
- [Kubernetes Access](kubernetes-access/introduction.mdx)
- [Database Access](database-access/introduction.mdx)
- [Desktop Access](desktop-access/introduction.mdx)