While browsing around wikis while waiting for the new kernel to compile on my poor little old ARMv5 server, I stumbled upon Mosh.
On its home page we can find the following description:
Remote terminal application that allows roaming, supports intermittent connectivity, and provides intelligent local echo and line editing of user keystrokes.
Mosh is a replacement for SSH. It's more robust and responsive, especially over Wi-Fi, cellular, and long-distance links.
… but what it boils down to is that if you even just occasionally have to SSH over an unstable WLAN or mobile internet, you should instead use Mosh.
The syntax seems very similar to OpenSSH and in fact, it does run on top of it (at least for authentication, then it uses its own AES-encrypted SSP over UDP). But the way it works, makes sure that even if you lose connection for a while, it will resume just fine. It also gets rid of network lag when typing and is in general very responsive.
Mosh is great for logging into remote shells, but you will still need to use OpenSSH for
sftp, as Mosh is optimised for character (and not binary) transport. Which is perfectly fine.
This is one of those tools that when you first try it out you simply go “Dear $deity, finally! Why Whhhhyyyyy haven’t I used this before …so many needlessly lost hours with SSH timing out …oh, so many.”
hook out → coming soon: Armbian on Olimex Lime 2 to replace (most) of my current Gentoo on DreamPlug