Mosh is a client/server setup allowing kind of asynchronous interactive session on a ssh server over a ssh connection. It doesn't replace ssh but complements it, making ssh interactive sessions more usable for low-latency and failing connections.
It somehow works like a proxy, with the added feature that it tries to add some sort of advanced local echo.
It's not a SSH replacement - X (and port and agent) forwarding or file transfer are different features. Mosh is a remote terminal client (and an absolutely brilliant one!), whereas SSH has a lot of different applications besides this one.
The neat thing about mosh is that it doesn't rely on ssh. All you need is a way to launch a process on a remote machine and securely transmit a shared key back to the client. ssh happens to be a useful way to do this, but it's not required
I like Mosh, but it's one of those programs that's "insufficiently better" for me to use, especially since it doesn't implement all the features of ssh.
> Mosh is a replacement for SSH. It's more robust and responsive,
> Mosh doesn't listen on network ports or authenticate users. The mosh client logs in to the server via SSH
Umm..
> Unlike SSH, mosh's UDP-based protocol handles packet loss gracefully
So it's not a replacement for SSH, but instead sits on top. Not only that, but it has some separate self-designed protocol that it uses to implement its ju-ju, presumably heavily peer reviewed for security design defects considering the claims of being an SSH replacement that are being made. :)
I was really impressed with mosh when I used it a few years ago. In this case SSH is going 20ft or so over ethernet, so the aspects that mosh pushes hasn't been necessary.
Somewhat relevant: I think Mosh solves a few problems that SSH lacks. This article: https://news.ycombinator.com/item?id=8252093 made it on Hacker News a bit ago. The video is wort the watch imo.
Mosh is great, but I kind of stopped using it once I discovered Tmux so I could resume a session if the connection dropped.
It's not that Mosh does anything wrong, but SSH has more features, and is supported by basically everything ever. Consequently, I stick with old-school SSH.
reply