3.0 KiB
3.0 KiB
Status
✅ Completed — released as v0.2.0.
Routes, tunnels and cleaner TUI.
sshkeeper v0.2.0 focuses on real-world SSH workflows where servers are accessed through bastions, jump chains and port forwards, while keeping the TUI simple and discoverable.
Delivered features
1. Cleaner TUI action model
- Replace always-visible hotkey overload with a compact action bar.
- Keep only primary actions visible:
- Connect
- Add
- Edit
- Search
- Templates
- Forwards
- Select
- Help
- Quit
- Move secondary shortcuts to the help screen.
- Add a contextual action menu for less frequent actions:
- Delete
- Test
- Tags
- Import/export
- Vault actions
- TUI action menu entries are wired:
- route opens the server edit form focused on route hops
- import refreshes the list after importing from
~/.ssh/config - export and vault password change leave the alt-screen and run in the normal terminal
- vault lock locks the vault in the current process
2. Route / ProxyJump UX
- Rename raw
ProxyJumphandling in the UI toRoute. - Support three route modes:
- Direct
- Via jump host
- Via chain
- Allow selecting jump hosts from existing sshkeeper profiles.
- Allow entering raw jump hosts manually.
- Display route summary in the server list:
direct → targetbastion → targetbastion → dmz-gw → target
- Keep full technical ProxyJump value visible in server details.
3. Port forwarding manager
- Add per-server forwarding management screen.
- Support:
- Local forwarding
- Remote forwarding
- Dynamic SOCKS forwarding
- Show human-readable forwarding table:
- type
- listen address/port
- target address/port
- Show generated OpenSSH preview for each forward.
- Add
ExitOnForwardFailureoption. - Support normal SSH session with forwards.
- Support forward-only mode using
ssh -N.
4. CLI support for routes and forwards
- Add commands:
sshkeeper forward list <alias>sshkeeper forward add <alias> ...sshkeeper forward delete <alias> <id>sshkeeper tunnel <alias>sshkeeper tunnel <alias> --forward-onlysshkeeper tunnel <alias> --backgroundsshkeeper tunnel listsshkeeper tunnel stop <id>sshkeeper tunnel stop-allsshkeeper route show <alias>sshkeeper route set <alias> ...sshkeeper route clear <alias>
Background tunnels are tracked by PID and run with ssh -N. They currently
support key and SSH-agent auth; password/key-passphrase auth remains foreground
only so the PTY prompt handler can provide the secret safely.
5. Search improvements
- Extend search to notes, tags, proxy/jump route and forward ports.
- Make search useful for real admin memory:
- host names
- aliases
- groups
- tags
- notes
- bastion names
- exposed local ports
6. README update
- Add a section explaining that sshkeeper is not Ansible.
- Add examples for:
- jump host
- jump chain
- local port forward
- dynamic SOCKS proxy
- forward-only session
- Add screenshots for route, forwarding and tunnel screens.