mosh can't be used on hosts that hide their ssh services behind sslh.
when connecting to such a host, mosh displays
then:
the problem seems to be caused by the way the ssh connection is
established in sslh: sslh forwards the connection by creating another
tcp stream from itself to the ssh server, causing SSH_CONNECTION have
"127.0.0.1" in both source and destination ip fields -- and mosh, when
started with -s, binds to the address it finds in SSH_CONNECTION.
the mosh server seems to get started with -s automatically (even though
the client seems to just call "mosh-server", it shows up in the process
list as `mosh-server new -s ...`).
several solutions seem feasible, in increasing order of my preference:
* provide a way for the client to specify he doesn't want to use the
`-s` option server-side (fix on mosh side)
* have a server-side configuration option to turn off the `-s` flag for
the host (better, as it has to be done only once per host) (fix on
mosh side)
* provide a way to find out the real address (fix on ssh side)
as a workaround, i have provided a way around sslh for clients to
connect directly, but that's not usually what an sslh user wants to do.