Mosh: Shell for Users on the Move

Productivity Sauce
The ability to connect and control remote machines via SSH is a boon for users on the move, but an unreliable and slow Internet connection can turn an SSH session into an exercise in frustration. Enter Mosh, a mobile shell that works wonders even on a shaky and anemic Internet connection. This tool offers several features designed to deal with challenges posed by unreliable Internet connections. For starters, Mosh provides a mechanism for handling dropped connections. This means, among other things, that when you put your machine to sleep and wake it up later, Mosh resumes the connection. In addition to that, the tool supports connection roaming, which can come in handy when you hop from one type of connection (e.g., Wi-Fi) to another (e.g., Ethernet).
Deploying Mosh isn't particularly difficult. The tool is available in the software repositories of many popular Linux distributions, so you can install it using your distro's package manager. Alternatively, you can compile the software from source. You have to install Mosh on both a remote host and a client. Mosh uses SSH to log in a user to the remote host. Once the user is logged in, Mosh uses a UDP connection on a port between 60000 and 61000. In practical terms, this means that the remote host must have an SSH server up and running, and you have to configure SSH and UDP port forwarding on your router.
Using Mosh is as easy as it gets. On the client machine, run the mosh user@remotehost command (replace user and remotehost with the actual user name and IP address or domain name of the remote host). If you are using an Android device to connect and control remote hosts, you'll be pleased to learn that the tweaked version of the IRSSI ConnectBot app provides support for Mosh.
comments powered by DisqusSubscribe to our Linux Newsletters
Find Linux and Open Source Jobs
Subscribe to our ADMIN Newsletters
Support Our Work
Linux Magazine content is made possible with support from readers like you. Please consider contributing when you’ve found an article to be beneficial.

News
-
First Release Candidate for Linux Kernel 6.14 Now Available
Linus Torvalds has officially released the first release candidate for kernel 6.14 and it includes over 500,000 lines of modified code, making for a small release.
-
System76 Refreshes Meerkat Mini PC
If you're looking for a small form factor PC powered by Linux, System76 has exactly what you need in the Meerkat mini PC.
-
Gnome 48 Alpha Ready for Testing
The latest Gnome desktop alpha is now available with plenty of new features and improvements.
-
Wine 10 Includes Plenty to Excite Users
With its latest release, Wine has the usual crop of bug fixes and improvements, along with some exciting new features.
-
Linux Kernel 6.13 Offers Improvements for AMD/Apple Users
The latest Linux kernel is now available, and it includes plenty of improvements, especially for those who use AMD or Apple-based systems.
-
Gnome 48 Debuts New Audio Player
To date, the audio player found within the Gnome desktop has been meh at best, but with the upcoming release that all changes.
-
Plasma 6.3 Ready for Public Beta Testing
Plasma 6.3 will ship with KDE Gear 24.12.1 and KDE Frameworks 6.10, along with some new and exciting features.
-
Budgie 10.10 Scheduled for Q1 2025 with a Surprising Desktop Update
If Budgie is your desktop environment of choice, 2025 is going to be a great year for you.
-
Firefox 134 Offers Improvements for Linux Version
Fans of Linux and Firefox rejoice, as there's a new version available that includes some handy updates.
-
Serpent OS Arrives with a New Alpha Release
After months of silence, Ikey Doherty has released a new alpha for his Serpent OS.