netwatch ~ ~/labs/essh.md
beta·v0.4.1
← all tools
essh.tui

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 . --locked
~ $ esshtui
// essh · loops · no audio▶ play demo
// 01 · install

Install

Release binaries
Download releases →

Current v0.4.1 binaries are available for Linux and macOS, x86_64 and ARM64. Extract the archive and put essh on your PATH.

From source
$git clone https://github.com/matthart1983/essh.git && cd essh && cargo install --path . --locked

Requires Rust and the tmux/OpenSSH prerequisites above. Installs the current checkout into Cargo’s bin directory.

// 02 · cargo package lags the release
Cargo package lags the release

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.

// 03 · connect to a host

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.

  1. 1
    Start the workspace
    $essh
  2. 2
    Check the local tmux version
    $tmux -V
  3. 3
    Check the local OpenSSH client
    $ssh -V
// 04 · navigation

Navigation

KeyAction
F1Help
F2Cycle terminal and health views
F3Sessions; n starts another
F4Return to hosts, keeping sessions running
F5 / F6Previous / next session
r after a dropReconnect
q on HostsLeave ESSH while remote work keeps running
// 05 · session persistence
Session persistence

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.

// related