| name | networking-mosh-resilient-ssh |
| description | Connecting over unreliable networks (mobile, WiFi) |
Mosh - Resilient SSH Alternative
Use this skill when:
- Connecting over unreliable networks (mobile, WiFi)
- Working with high-latency connections
- Needing to survive network disconnects
- Roaming between networks while maintaining sessions
- Improving SSH user experience
Installation
brew install mosh
sudo apt install mosh
Basic Usage
ssh user@server
mosh user@server
mosh --ssh="ssh -p 2222" user@server
mosh -p 60001 user@server
Key Features
Survives Disconnects
mosh user@server
Local Echo
Mosh predicts typing locally
No lag when typing even on high-latency links
Underlined text = predicted (not yet confirmed by server)
Normal text = confirmed by server
IP Roaming
mosh user@server
Configuration
Server Setup
sudo ufw allow 60000:61000/udp
sudo ufw allow 60001/udp
Custom Port Range
export MOSH_SERVER_PORT_RANGE=60001-60010
mosh -p 60001 user@server
Advanced Usage
With Tailscale
mosh user@100.64.0.5
SSH Configuration
Host myserver
HostName server.example.com
User myuser
Port 2222
mosh myserver
Tmux Integration
mosh user@server -- tmux attach
Limitations
Not for File Transfers
scp file.txt user@server:
rsync -avz --progress file.txt user@server:
Port Requirements
Mosh needs UDP ports open
Some restrictive networks block UDP
Fallback to SSH if UDP blocked
Comparison
SSH:
- Works everywhere (TCP port 22)
- File transfers (scp/sftp)
- Port forwarding
- Breaks on network change
Mosh:
- Survives disconnects
- IP roaming
- Low-latency typing
- Requires UDP ports
- Terminal only
Related Skills
- tailscale-vpn.md - Use mosh over Tailscale
- secure-networking.md - Overall networking patterns