I’ve only used Mosh: the mobile shell for a couple of weeks, but I am definitely a convert! However, I couldn’t get mosh to connect to one of my servers (an OpenVZ instance).
The error manifested itself as the client trying to connect to the server but not getting any response:
mosh: Connecting... [To quit: Ctrl-^ .]
Today I decided to debug the issue. As the client actually was trying to connect, I tried to simply start the server:
$ mosh-server new
MOSH CONNECT 60001 rSbp4ENDdzd/TKBOrrEeVg
mosh-server (mosh 1.2.2)
Copyright 2012 Keith Winstein
License GPLv3+: GNU GPL version 3 or later .
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
[mosh-server detached, pid = 32582]
But when I checked the process list, it wasn’t running anymore:
$ pgrep mosh-server
$
Time to add some verbose output:
$ mosh-server new -v
MOSH CONNECT 60001 hQ5ab1JjgUytXRZmy5ti6A
mosh-server (mosh 1.2.2)
Copyright 2012 Keith Winstein
License GPLv3+: GNU GPL version 3 or later .
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
[mosh-server detached, pid = 14208]
forkpty: No such file or directory
This must be important: forkpty: No such file or directory, but what does it mean?
Some googling showed that it meant that /dev/pts was not mounted on my system, and it was indeed not mounted:
$ mount
/dev/simfs on / type reiserfs (rw,usrquota,grpquota)
(Yes, I’ve also wondered why my host is running ReiserFS.)
So I checked my /etc/fsab:
$ cat /etc/fstab
proc /proc proc defaults 0 0
none /dev/pts devpts rw 0 0
It’s there, but still not mounted? Oh well, easy fix:
sudo mount /dev/pts
After that fix, I could successfully connect to my server with mosh!