essh
Persistent SSH sessions and live health dashboards.
An SSH workspace using OpenSSH and tmux. Reconnect to remote shells and inspect host health without leaving your terminal.
Install tmux 3.3+ and OpenSSH locally, and tmux on each remote host. Linux and macOS clients support x86_64 and ARM64; detailed health metrics target Linux hosts.
git clone https://github.com/matthart1983/essh.git && cd essh && cargo install --path . --lockedInstall
Current v0.4.1 binaries are available for Linux and macOS, x86_64 and ARM64. Extract the archive and put essh on your PATH.
git clone https://github.com/matthart1983/essh.git && cd essh && cargo install --path . --lockedRequires Rust and the tmux/OpenSSH prerequisites above. Installs the current checkout into Cargo’s bin directory.
As checked on 20 September 2026, cargo install essh installs v0.3.2, while the current GitHub release is v0.4.1. Use a release binary or build the repository for the workflow documented here.
Connect to a host
Hosts are read from ~/.ssh/config, ESSH configuration and its host cache. Select a host and press Enter; / filters, a adds a host and e edits one. OpenSSH handles authentication and host-key checking.
- 1Start the workspace$
essh - 2Check the local tmux version$
tmux -V - 3Check the local OpenSSH client$
ssh -V
Navigation
| Key | Action |
|---|---|
| F1 | Help |
| F2 | Cycle terminal and health views |
| F3 | Sessions; n starts another |
| F4 | Return to hosts, keeping sessions running |
| F5 / F6 | Previous / next session |
| r after a drop | Reconnect |
| q on Hosts | Leave ESSH while remote work keeps running |
Reconnecting reattaches an existing remote shell when it is still running. If it has ended, ESSH starts a new shell. Ctrl+A controls local tmux; Ctrl+B controls remote tmux.