How does it work?
Teleport
Teleconsole is built on top of Teleport which is a clustered SSH server with a built-in SSH bastion/proxy. 99% of Teleport code is a Golang library. This makes it easy to create interesting SSH projects.
Teleconsole is one of such projects. It is essentially an “instant” SSH server which
is pre-configured to trust teleconsole.com
SSH proxy.
Both projects are open source and hosted on Github.
Creating Session
What happens when you type teleconsole?
- It generates unique single-use SSH credentials and launches an SSH server on localhost.
Then Teleconsole logs into itself, an equivalent of
ssh localhost
. - SSH credentials are POSTed via HTTPS to a free anonymous SSH proxy on
https://teleconsole.com
. - The server creates a single-use disposable instance of Teleport SSH proxy, which is trusted by the teleconsole SSH server running on your machine.
- Your local teleconsole SSH server creates an outbound SSH tunnel to the disposable
Teleport proxy running on
https://teleconsole.com
. The proxy now acts as a bridge connecting the outside world to your machine.
Teleconsole Diagram
Joining Session
And here is what happens when you type teleconsole join session-id:
- teleconsole requests the proxy for SSH keys for the session via HTTPS.
- It uses those keys to SSH into the proxy.
- The proxy forwards the connection through the tunnel created in step 3 to your machine.