In the next article we are going to take a look at Teleconsole. This is a free service to share our terminal session with people we trust. Your contacts can join via the command line using SSH or through their web browser using HTTPS. This service is very interesting to ask for help. We will also be able to forward local TCP ports to your contacts. Use this feature to allow them to access web applications running on your local server.
You may already know the popular remote desktop applications that are available in the market, such as Teamviewer, Skype, Join.me, Chrome Remote Desktop, Real VNC, Apache Guacamole, etc. These are used to share the whole system, but in some situations we may be interested share only our terminal session quickly. Due to a situation like the one described, teleconsole and take yourself.
Teleconsole is built on Gravitational Teleport. This is a modern SSH server for remotely accessing Gnu / Linux server clusters via SSH or HTTPS. Is a "instant" SSH server which is pre-configured to trust teleconsole.com's SSH proxy. We will have to make sure that both users (both sender and receiver) have the Teleconsole application on their system.
When we use this type of service, it is inevitable to ask ourselves how safe it is. Obviously, we must keep the teleconsole.com proxy service secure. In any case, the connection is cut as soon as you log out.
The active session is protected by a Very long and random session ID which is almost impossible to guess. It is interesting to consider using a secure chat to share the ID of the active session with the contacts you want to invite.
Table of Contents
We will not have to think much or worry about the installation. The developers of this service offer us a shell script to be able to use it quickly and easily. Executing the script in the terminal (Ctrl + Alt + T) as follows, we will already have Teleconsole available on our system:
curl https://www.teleconsole.com/get.sh | sh
If someone does not have installed yet curl, you can install it by typing the following command in the same terminal:
sudo apt install curl
How Teleconsole works
Create the sender session
We are just going to write teleconsole in our terminal. This command will generate the unique one-time SSH credentials and launch an SSH server on localhost.
El server create a disposable one-time SSH proxy instance. This will all be done after obtaining the SSH credentials, which are trusted by the Teleconsole SSH server running on our machine.
The SSH server of the local Teleconsole application creates an outbound SSH tunnel to the disposable Teleport proxy. The proxy will now act as a bridge connecting the outside world to our machine.
Join the session
When we type teleconsole join session-id or click on the WebUI link, the application will ask the proxy for the SSH keys for the session using the HTTPS protocol.
The keys obtained will be used to be able to use the SSH protocol in the proxy.
The proxy will forward the connection through the tunnel created.
How to use Teleconsole
Let's imagine that we are stuck configuring something in Ubuntu and we want to ask a contact for help. Simply we will write teleconsole in our terminal (Ctrl + Alt + T) and we will see something like the following:
Teleconsole will launch a new session of local SSH shell e will print the unique session ID and a WebUI URL. Any of these data will be what we will have to share with our contact to whom we want to request assistance.
Our support contact can join you by doing click on the WebUI link or by typing in your terminal (Ctrl + Alt + T):
teleconsole join ID-de-sesión
After this, both users will use the same terminal session running on the sending user's machine, even if they are both on separate networks.
For, log out and log out, we will not have more than write exit, as you can see in the following screenshot.