You may already know about popular remote desktop sharing applications which is available in market such as Teamviewer, Skype, Join.me, Chrome Remote Desktop, Real VNC, Apache Guacamole, etc,.
It’s used to share entire system but in some situation, if you want to share your terminal session alone, what you will do?
Chill out , we have an solution in Linux for everything. That’s where teleconsole and tmate come in to the picture. Why you want to share your terminal session? the common reason could be, to ask for help from team members and friends.
What is Teleconsole?
Teleconsole is a free service to share your terminal session with people you trust or anyone in seconds. The destination users can join via a command line using SSH or by using their browser over HTTPS.
You can also forward local TCP ports to your friends. Use this feature to allow them access the web applications running on your localhost when you are behind NAT.
How does it work?
Teleconsole is built on top of Gravitational Teleport which is a modern SSH server for remotely accessing clusters of Linux servers via SSH or HTTPS. It is an “instant” SSH server which is pre-configured to trust teleconsole.com SSH proxy. Make sure both user should have teleconsole app in the system.
- Simply type teleconsole in your terminal, it generates unique single-use SSH credentials and launches an SSH server on localhost.
- The server (https://teleconsole.com) creates a single-use disposable instance of Teleport SSH proxy, after getting the SSH credentials, 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.
- 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 your machine.
How to install Teleconsole
No need to worry about installation since they offering a shell script for fastest and easiest way to get teleconsole on your system.
$ curl https://www.teleconsole.com/get.sh | sh
How to use
Let’s imagine you are stuck configuring something on your Linux box and you want to ask help from your friend. Simply type teleconsole in your terminal.
Teleconsole will launch a new local SSH shell session and print the unique session ID and WebUI which you need to share with your friend.
$ teleconsole Starting local SSH server on localhost... Requesting a disposable SSH proxy on as.teleconsole.com for magi... Checking status of the SSH tunnel... Your Teleconsole ID: as8bd1465ca92149d21fe4885f834fb8499e7b1696 WebUI for this session: https://as.teleconsole.com/s/8bd1465ca92149d21fe4885f834fb8499e7b1696
Your friend can join in either by clicking on a WebUI link, or by typing.
$ teleconsole join as8bd1465ca92149d21fe4885f834fb8499e7b1696 Teleconsole: joining session...
Now you are both using the same terminal session running on your machine, even if both of you are on separate networks separated by NAT.
To end the session and disconnect, simply exit Teleconsole.
[Source System Output] exit logout Connection to localhost:32911 closed from the remote side You have ended your session broadcast and the SSH tunnel is closed. [Remote System Output] exit logout Connection to localhost:32911 closed from the remote side