Teleconsole is a free open source and powerful command line tool for sharing your Linux terminal session with people you trust. Your friends or team members can connect to your Linux terminal session via a command-line over SSH or via a browser over HTTPS protocol.
How does it work?
Teleconsole is a clustered SSH server with a built-in SSH proxy and was written in GoLang. You can use this tool to launch secure SSH sessions, perform forwarding of local TCP ports and set up private proxies.
After you launch teleconsole on your system, it opens a new shell session and prints the unique session ID as well as a WebUI link which you need to share with your friends, for them to join via a command line over SSH or from their web browsers over HTTPS.
Additionally, teleconsole also enables for forwarding local TCP ports, thus allowing your friends to access the web applications running on your localhost in case it’s behind NAT.
Warning: Teleconsole comes with certain security risks that you should take note of; it creates an SSH server accessible via public Internet during the Teleconsole session, this will practically give your keyboard to anyone with a link.
How to Install Teleconsole in Linux
The fastest and easiest way to install Teleconsole on your Linux distribution is to type the following command in your terminal.
$ curl https://www.teleconsole.com/get.sh | sh
Once Teleconsole installed, you can start it by typing the following command. This is very useful when you get stuck in some configuration on a Linux box behind NAT. Just invite and share your Linux session with your friend to help you.
$ teleconsole
Sample Output --------------------------------------------------------------------------------------------- Starting local SSH server on localhost... Requesting a disposable SSH proxy on as.teleconsole.com for rootadminz... Checking status of the SSH tunnel... Your Teleconsole ID: asce38b0cbb9db97ef16562d1feffe5b84c9a204b8 WebUI for this session: https://as.teleconsole.com/s/ce38b0cbb9db97ef16562d1feffe5b84c9a204b8 To stop broadcasting, exit current shell by typing 'exit' or closing the window.
Next, copy the unique session ID printed or WebUI link and share it via a secure means with people you trust. Your friends can join in using the session ID as shown.
$ teleconsole join asce38b0cbb9db97ef16562d1feffe5b84c9a204b8
Or they can join by clicking on a WebUI link to access it via a web browser.
Now you and your friend both are using the same Linux terminal session running on your system, even if both of you are on different networks separated by NAT.
To stop broadcasting, exit the current shell by typing ‘exit’ command or closing the terminal window.
$ exit
How to Enable Port Forwarding
Another important feature of Teleconsole is, easy port forwarding, thereby enabling your friends to connect any TCP port running on your Linux system. Let’s assume you are working on a web project and it is currently accessible on your http://localhost:3000 . You can make your friends access it by forwarding port 3000 when you initiate a new session as shown.
$ teleconsole -f localhost:3000
Sample Output --------------------------------------------------------------------------------------------- Starting local SSH server on localhost... Requesting a disposable SSH proxy on as.teleconsole.com for rootadminz... Checking status of the SSH tunnel... Your Teleconsole ID: asce38b0cbb9db97ef16562d1feffe5b84c9a204b8 WebUI for this session: https://as.teleconsole.com/s/ce38b0cbb9db97ef16562d1feffe5b84c9a204b8 To stop broadcasting, exit current shell by typing 'exit' or closing the window. Now when your friends join this session, they will see a message as shown.
ATTENTION: rootadminz has invited you to access port 3000 on their machine via localhost:9000
They can then access your application from their browsers using the URL http://localhost:3000.
Important: Since Teleconsole is just an SSH server, any one you have shared your session ID with can request port forwarding without informing you, as shown.
$ teleconsole -f 3000:localhost:3000 join <session-id>
You can view the teleconsole help message with the following command.
$ teleconsole help