Eternal Terminal – A Remote Shell That Automatically Reconnects Without Interrupting The Session

Eternal Terminal

Eternal Terminal (ET) is a remote shell that automatically reconnects without interrupting the session. Unlike the normal SSH session, ET session will survive even after the network outages or IP changes. Please note that ET is not a terminal emulator, it’s only a remote shell. ET is mainly made for IP changes. That means even if the IP address of your remote host is changed, Eternal Terminal will keep you connected with the remote system. Another notable feature of ET is we can run tmux/screen inside a ET session. ET supports tmux control mode which lets you have OS scrollbars, tabs, and windows. This is where ET distinguishes itself from other similar applications like Mosh (A popular alternative to SSH). Even though Mosh offers the same functionality as ET, it does not support scrolling nor tmux control mode. In a nutshell, ET is a remote terminal for the busy and impatient.

Install Eternal Terminal

You should install ET on Server and Client systems.

ET has an official PPA for Ubuntu users. If you’re using Ubuntu and derivatives, run the following commands one by one to install ET.

sudo add-apt-repository ppa:jgmath2000/et
sudo apt-get update
sudo apt-get install et

For other Linux distributions, you need to manually compile and install it.

First install the following dependencies.

  • libboost-dev
  • libsodium-dev
  • libncurses5-dev
  • libprotobuf-dev
  • protobuf-compiler
  • cmake
  • libgoogle-glog-dev
  • libgflags-dev
  • unzip
  • wget

After installing the dependencies, compile and install ET as shown below.

wget https://github.com/MisterTea/EternalTCP/archive/master.zip
unzip master.zip
cd EternalTCP-master
mkdir build
cd build
cmake ../
make
sudo make install

Usage

Please note that you must install ET on Server and Client system. By default, ET uses port 2022. If you’re behind a firewall or router, you need to open this port. ET uses ssh for handshaking and encryption, so make sure you can be able to ssh into the machine from the client.

The command to connect to your client is similar to sh. To connect with your client system, just run:

et username@password

Example:

et sk@192.168.43.246

Where, sk and 192.168.43.246 are the client system’s username and IP address. Enter the remote system’s username to access it.

Eternal Terminal connection

Now, you can use the remote client from your local system. To check if it reconnects automatically after a network outage, unplug the network cable and re-plug it or change the IP address of your client. You will see that the connection is still active. Unlike SSH session, you don’t have to kill the session and reconnect after a network outage. ET keeps you connected always.

And, that’s all. I hope you find this guide useful. If you like our work, please share the articles in your social, and professional networks, so that others can also benefit. I will be back soon with another useful guide. Keep visiting.

Cheers!

Resource: 

Thanks for stopping by!

Help us to help you:

Have a Good day!!

You may also like...

  • Adren

    Mosh (mobile shell / http://mosh.org) also exists with the same feature:
    Remote terminal application that allows roaming, supports intermittent connectivity, and provides intelligent local echo and line editing of user keystrokes.

    basically, it’s ssh over UDP instead of TCP (hence the capacity to send a Ctrl+C while a long list of output is sent through the communication channel)