Mosh is a remote shell with an error-tolerant networking layer

Does its key-exchange over SSH, but emulates a local tty to enable underlining of characters have not done the client-server round trip yet. This is useful for high-RTT links, as it can be frustrating to type without echoing.

After the key-exchange, Mosh uses UDP and will maintain the session, even after connecting from a difference interface with a different IP that what was used for initiating the session.