Releases: sshman-org/sshman
v1.3.0 - 2026 Updated and revised code
Changelog & Release Notes
This release is a major overhaul of sshman's internals and developer experience, while maintaining full backward compatibility with existing vaults.
🚀 What's New
Code Restructured
The monolithic main.go (504 lines) has been split into clean, maintainable packages:
| Package | Responsibility |
|---|---|
model/ |
Entry struct, CRUD helpers, search |
vault/ |
AES-GCM + Argon2 encrypt/decrypt, file I/O |
keygen/ |
RSA key generation (pure Go) |
sshutil/ |
SSH connect, sendkey, temp key management |
cmd/ |
All 10 CLI command handlers |
main.go |
Thin entry point (14 lines) |
Key Features & Enhancements
- New Search Command:
sshman search --query <term>finds entries matching name, user, or host.sshman search --query prod
- Port Support: Entries now include a
portfield. The--portflag is available onadd,update, andgenkey. Connections, copy commands, and key sending respect the custom port automatically (defaults to22). - Smarter
--keyFlag: The--keyflag inaddandupdatenow auto-detects whether you've provided a file path or a raw PEM string, accepting both interchangeably. - Custom Vault Path: All commands now accept
--vault <path>to use a non-default vault file. - Version Info:
sshman --versionnow displays version, commit, and build date.
🧪 Testing & CI
- 14 unit tests across
model/,vault/, andkeygen/packages (vault encrypt/decrypt round-trips, wrong password rejection, entry CRUD, RSA generation). - GitHub Actions CI — automatic build,
gofmtcheck,go vet, and test execution on every push and PR.
📦 Packaging
The project now ships with GoReleaser configuration, producing distribution packages for all major platforms:
| Platform | Formats |
|---|---|
| Linux (amd64, arm64) | tar.gz, .deb, .rpm |
| Linux (amd64) | AppImage |
| macOS (amd64, arm64) | tar.gz |
| Windows (amd64, arm64) | .zip |
🐛 Bug Fixes & Documentation
- Fixed
--keyflag behavior (previously documented as file path, accepted only PEM strings). - Removed incorrect
ssh-keygendependency claims from README. - Updated README with port, search, and
--vaultdocumentation. - Fixed banner output (redundant newline).
- Added
.gitignorefor build artifacts.
Full Changelog: v1.2.3...v1.2.4
v1.2.3 - Improved Banner + Roadmap for More Features!
🚀 Release: Improved Banner + Roadmap for More Features!
✨ What's New
-
🎨 Improved Banner: I've given the
sshmanCLI a fresh look! The updated ASCII banner now provides a cleaner, more distinctive identity each time you launch the tool.I know it’s cosmetic—but style does matter when you’re managing SSH like a pro. 😎
📬 Coming Soon
Thanks to your feedback and suggestions, we’re actively working on new features to make sshman even more powerful and user-friendly, including:
- 🔑 Encrypted key vaults with customizable protection levels
- 📂 Key grouping and tagging for large-scale SSH environments
- 🧪 Integration testing improvements and usability tweaks
Got an idea? Found a bug? [Open an issue](https://github.com/SpikeTheDragon40k/sshman/issues) or drop a comment— I'm listening. 👂
📥 How to Get It
git clone https://github.com/SpikeTheDragon40k/sshman
cd sshman
go build -o sshman .
./sshman initOr use sshman connect to start managing your SSH keys the modern way.
Thanks for being part of this project. Your feedback helps guide the roadmap! 🙏
v1.2.2 – First Release on All OS (Windows, Linux, and macOS)
I'm excited to announce the first official release of sshman for Windows, Linux, and macOS! With this version, sshman is now a fully cross-platform SSH management tool that securely handles your SSH entries and keys on all major operating systems.
New Features:
First Cross-Platform Release: sshman is now available on Windows, Linux, and macOS, allowing users to manage SSH keys and connections seamlessly across different platforms.
Windows: sshman.exe is available for Windows users.
Linux: sshman-linux binary is available for Linux systems.
macOS: sshman-mac binary is available for macOS.
Enhancements:
Cross-Platform Compatibility: With the addition of Windows and macOS support, sshman now works seamlessly on all major operating systems (Windows, Linux, macOS).
Unified User Experience: The same intuitive command-line interface and features across all platforms.
Fixed Issues:
Platform-Specific Compatibility: Addressed platform-specific issues to ensure smooth operation across Windows, Linux, and macOS.
Installation:
Windows: Download the sshman.exe binary and place it in a folder of your choice. Ensure OpenSSH is enabled or use Git Bash for SSH operations.
Linux: Download the sshman-linux binary and use it as usual.
macOS: Download the sshman-mac binary and follow standard usage.
Known Issues:
Windows-Specific Setup: Ensure OpenSSH is enabled on your Windows system for SSH key operations. Alternatively, use Git Bash for SSH support.
Future Enhancements:
Windows GUI: Future releases may include a GUI to further improve the user experience on Windows.
I hope you enjoy using sshman across all platforms. If you encounter any issues or have feedback, please feel free to open an issue on GitHub repository.
Happy SSH managing!
V1.2.0 - We have a Banner
🔖 sshman v1.2.0 – Now with a Banner!
This release adds a touch of flair to your terminal!
✨ What's new:
🖼️ ASCII banner is now displayed when running sshman or sshman help
A small visual improvement to give sshman a more polished CLI feel
No functional changes to commands — just a better first impression!
v1.0.0 — Initial Release
v1.0.0 — Initial Release
🎉 Welcome to the very first official release of sshman — your lightweight, secure, and easy-to-use SSH key and connection manager CLI tool!
Features in this release:
- Secure vault storage encrypted with AES-GCM and Argon2id
- Add, update, delete, list, and search SSH entries in the vault
- Generate RSA SSH key pairs directly from the CLI (using system ssh-keygen)
- Copy ready-to-use SSH connection commands to your clipboard
- Connect directly to your SSH hosts from the CLI
- Password-protected vault with a custom
.vsshfile format - Secure password prompt with hidden input
- Simple and intuitive CLI interface powered by
urfave/cli
Why sshman?
Managing multiple SSH keys and servers can be cumbersome. sshman helps you keep all your SSH configurations organized, secure, and instantly accessible — all in one encrypted vault file.
Getting Started
Check out the [README.md](https://github.com/yourusername/sshman/blob/main/README.md) for installation instructions, usage examples, and detailed documentation.
Full Changelog: https://github.com/SpikeTheDragon40k/sshman/commits/sshman
v1.1.0 — First Improvements
v1.1.0 - Secure Key Management & Remote Deployment
Improvements
-
In-memory key storage:
SSH private keys are no longer stored as plain files on disk (e.g., in~/.ssh). Instead, keys are securely stored only inside the encrypted vault file and kept in memory during use, reducing the risk of key leakage. -
New
sendkeycommand:
Added a convenient command to send the generated SSH public key to a remote server’sauthorized_keysfile automatically, simplifying key deployment for passwordless login. -
Enhanced
genkeycommand:
Generates RSA key pairs directly inside the vault (no external file storage). Keys are securely encrypted alongside other entries. -
Backward compatible vault format:
The vault encryption mechanism continues to use Argon2 and AES-GCM for strong security while now securely storing SSH keys alongside metadata.
Other fixes & updates
- Improved CLI experience with additional input validation on key sizes.
- Error handling and messaging refined for clarity.
- Codebase cleanup and dependency updates.