Teleconsole – Share Your Linux Terminal with Your Friends

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 setup 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.

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 tecmint...
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 as shown in the following screen shot.

Share Linux SSH Session via 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 tecmint...
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: tecmint has invited you to access port 3000 on their machine via localhost:9000

Join Linux Session

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.

That’s all! Teleconsole is a powerful SSH server to share your Unix/Linux terminal session with friends. In this article, we have explained how to use teleconsole to launch secure SSH sessions and share your terminal with friends and perform forwarding of local TCP ports.

If you have any questions or thoughts to share, use the comment form below to reach us.

If You Appreciate What We Do Here On TecMint, You Should Consider:

TecMint is the fastest growing and most trusted community site for any kind of Linux Articles, Guides and Books on the web. Millions of people visit TecMint! to search or browse the thousands of published articles available FREELY to all.

If you like what you are reading, please consider buying us a coffee ( or 2 ) as a token of appreciation.

Aaron Kili is a Linux and F.O.S.S enthusiast, an upcoming Linux SysAdmin, web developer, and currently a content creator for TecMint who loves working with computers and strongly believes in sharing knowledge.

Your name can also be listed here. Got a tip? Submit it here to become an TecMint author.

Another Linux application that fills out a much-needed gap, as they say. Seriously, it has been possible to do things like this with Linux for years (e.g. VNC.) This seems to be somebody saying “let’s see if we can do it in Go”, and little else. And its security model is awful.

Pretty useless for enterprise as it allows console over the public Internet breaking security policies for all. If users could use their own servers though and keep everything internal to their own network it may be useful for 1st/2nd/3rd line support collaboration.