If you’re using secure shell to remote, Mosh and tmux should be part of your arsenal.
Originally published at https://wasteofserver.com on October 30, 2023.
This post has already been written, in one way or another, thousands of times across the web.
I’m rewriting it for two reasons, command reference and mosh
under Cygwin
error.
Mosh (mobile shell)
Mosh uses UDP to create an unbreakable ssh session. If you’re on the road with flaky connections, it’s a lifesaver.
On Windows, you can use mosh
either in WSL or Cygwin. If using via Cygwin, you may stumble on the error "Did not find remote IP address (is SSH ProxyCommand disabled?)".
$ ./mosh frankie@192.168.5.2
CreateProcessW failed error:2
posix_spawnp: No such file or directory
./mosh: Did not find remote IP address (is SSH ProxyCommand disabled?).
To fix it, it’s a simple as passing a few extra parameters:
$ ./mosh --predict=always --experimental-remote-ip=remote [email protected]
--predict=
controls use of speculative local echo--experimental-remote-ip=
used to discover IP address mosh connects to
Notice that if you’re having errors connecting, you should check if you’re actually allowed to UDP into the server. For that use netcat
.
nc -u <host> <port>
tmux (terminal multiplexer)
tmux puts your terminal connection into a proper session. Say you’re working on a remote server from your home. You can disconnect that session. Go to work and resume the session exactly as it was.
On top of that, it allows you to easily split the screen.
tmux new
- to starttmux new -s session-name
- to name the sessiontmux -t session-name
- to attach to the named session
During the session, your go-to command is Ctrl-b
.
Ctrl+b %
- splits the screen verticallyCtrl+b "
- splits the screen horizontallyCtrl+b x
- closes current session
Originally published at https://wasteofserver.com on October 30, 2023.