Skip to content

sshkeeper v0.5.0

Choose a tag to compare

@github-actions github-actions released this 06 Sep 13:08
· 30 commits to main since this release

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.