Find a file
Ev Kontsevoy 6277351864 Merge pull request #459 from gravitational/ev/v1
known_hosts support for non-Teleport servers
2016-06-16 22:50:39 -07:00
build.assets Some minor improvements 2016-05-31 18:59:07 -07:00
docs Merge remote-tracking branch 'origin/master' into ev/v1 2016-06-16 22:48:45 -07:00
fixtures Fixed tests 2016-06-12 15:11:56 -07:00
Godeps Simpler version implementation 2016-06-14 18:03:06 -07:00
integration add support for passing env variables, fixes #451 2016-06-10 09:38:19 -07:00
lib Updated tests 2016-06-16 19:04:09 -07:00
tool Nicer parsing of "auth_servers" config option 2016-06-12 16:30:32 -07:00
vagrant Added support for regular 'known_hosts' 2016-06-16 18:30:02 -07:00
vendor Simpler version implementation 2016-06-14 18:03:06 -07:00
web (web) bug fixes (token handler for SSO) 2016-05-10 09:25:05 -04:00
.gitattributes fix linguist stats for project 2016-06-02 20:50:30 +03:00
.gitignore Simpler version implementation 2016-06-14 18:03:06 -07:00
constants.go Started work on self-reconnecting reverse tunnels 2016-05-11 13:17:13 -07:00
LICENSE Apply apache license to teleport 2015-10-31 11:56:49 -07:00
Makefile Minor changes to README and Makefile 2016-06-16 22:47:58 -07:00
mkdocs.yml (docs) fixing mkdocs configuration file 2016-03-25 12:50:28 -04:00
README.md Simpler version implementation 2016-06-14 18:03:06 -07:00
roles.go Added unit tests to cover role set operations 2016-05-11 22:27:06 -07:00
version.go Merge remote-tracking branch 'origin/master' into ev/v1 2016-06-16 22:48:45 -07:00
version.mk Release of version 1.0.0 of Teleport 2016-06-15 10:50:45 -07:00

Gravitational Teleport

Project Links
Teleport Website
Documentation

Introduction

Gravitational Teleport ("Teleport") is a tool for remotely accessing isolated clusters of Linux servers via SSH or HTTPS.

Unlike traditional key-based access, Teleport enables teams to easily adopt the following practices:

  • Avoid key distribution and trust on first use issues by using auto-expiring keys signed by a cluster certificate authority (CA).
  • Enforce 2nd factor authentication.
  • Connect to clusters located behind firewalls without direct Internet access via SSH bastions.
  • Record and replay SSH sessions for knowledge sharing and auditing purposes.
  • Collaboratively troubleshoot issues through session sharing.
  • Discover online servers and Docker containers within a cluster with dynamic node labels.

Teleport is built on top of the high-quality Golang SSH implementation and it is fully compatible with OpenSSH.

Installing and Running

Download the latest binary release, unpack the .tar.gz and run sudo make install. This will copy Teleport binaries into /usr/local/bin and the web assets to /usr/local/share/teleport.

Then you can run Teleport as a single-node cluster:

teleport start 

Building Teleport

You need to have Golang v1.5 or newer.

Clone this repository into $GOPATH/gravitational/teleport and run make.

If you want to release your own Teleport version, edit this Makefile, update VERSION and SUFFIX constants, then run make setver to update version.go

If you want to cut another binary release tarball, run make release.

Why did We Build Teleport?

Mature tech companies with significant infrastructure footprints tend to implement most of these patterns internally. Teleport allows smaller companies without significant in-house SSH expertise to easily adopt them, as well. Teleport comes with an accesible Web UI and a very permissive Apache 2.0 license to facilitate adoption and use.

Being a complete standalone tool, Teleport can be used as a software library enabling trust management in complex multi-cluster, multi-region scenarios across many teams within multiple organizations.

More Information

Contributing

The best way to contribute is to create issues or pull requests right here on Github. You can also reach the Gravitational team through their website

Building

Teleport is written in Go. If you have Golang 1.5 and newer, simply clone this repository and run make. You'll have to create /var/lib/teleport directory and then you can start Teleport as a single-node cluster in development mode: build/teleport start -d

NOTE: The Go compiler is somewhat sensitive to amount of memory: you will need at least 1GB of virtual memory to compile Teleport. 512MB instance without swap will not work.

Status

Teleport is not ready to be used in production yet. Teleport is undergoing a comprehensive independent security audit.

Who Built Teleport?

Teleport was created by Gravitational Inc. We have built Teleport by borrowing from our previous experiences at Rackspace. It has been extracted from Gravity, our system for helping our clients to deploy and remotely manage their SaaS applications on many cloud regions or even on-premise.