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;
Enterattaches to the selected session;Ctrl+Dcloses it after confirmation;Ctrl+Rrefreshes 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.