sshkeeper/docs/releases/v0.5.0.md

2.7 KiB

sshkeeper v0.5.0 — Persistent SSH Sessions

v0.5.0 adds an optional multi-session workflow backed by tmux. It lets sshkeeper keep several interactive SSH connections alive in one terminal workspace without turning sshkeeper itself into a terminal emulator.

tmux is intentionally optional. If it is not available, Sessions are not shown anywhere in the TUI and ordinary Connect/Tunnel workflows behave exactly as they did in v0.4.1.

Persistent sessions

When tmux is available in PATH:

  • Server Actions → Open in session opens the selected server in a persistent tmux window;
  • Manage → Sessions lists SSH windows created by sshkeeper;
  • Enter attaches to the selected session;
  • Ctrl+D closes it after confirmation;
  • Ctrl+R refreshes the list.

If sshkeeper runs outside tmux, it uses a dedicated tmux workspace named sshkeeper. If it is already running inside tmux, new SSH windows are created inside the current tmux session rather than starting a nested client.

Vault and authentication

Sessions continue to use the existing sshkeeper/OpenSSH connection planner, including routes, bastions, identity files and startup commands.

Key and SSH-agent sessions do not need a vault unlock. Password and key-passphrase sessions ask for the vault master password inside their own tmux window. Secrets are not copied through command-line arguments, environment variables or temporary shell scripts.

Platform behavior

Linux and macOS support Sessions when tmux is installed. On macOS it can be installed with Homebrew using brew install tmux.

Native Windows builds keep Sessions hidden because upstream tmux is not a native Windows backend for this workflow. Windows users can use Sessions by running the Linux build inside WSL with tmux installed there.

Linux native packages do not require tmux. Package metadata keeps OpenSSH as the hard dependency and marks tmux only as Recommends, so the application remains fully usable without the Sessions feature.

Validation

The release is covered by normal unit tests plus a real tmux lifecycle test that creates a temporary workspace/window, verifies sshkeeper can discover its metadata, closes it, and confirms it disappears.

The release gate also runs go vet, Linux package migration tests and release cross-builds for Linux amd64/arm64, macOS amd64/arm64 and Windows amd64. GitHub CI additionally runs the test suite natively on both Ubuntu and macOS.

Install

Debian/Ubuntu (amd64):

sudo apt install ./sshkeeper_0.5.0-1_amd64.deb

Fedora/RHEL-family (x86_64):

sudo dnf install ./sshkeeper-0.5.0-1.x86_64.rpm

ARM64 packages and tar/zip archives are published alongside them. Verify downloads against checksums.txt.