A command-line tool for managing SSH alias configurations with add, list, update, delete, and backup capabilities.
manssh is a command-line tool for managing SSH alias configurations. It allows users to easily add, list, update, delete, and backup SSH aliases, simplifying the process of organizing remote server connections. The tool is built with Go and designed to be dependency-free.
System administrators, DevOps engineers, and developers who frequently manage multiple SSH connections and want a streamlined way to handle SSH config files.
Developers choose manssh for its simplicity, lack of dependencies, and support for advanced SSH config features like the Include directive, making it a reliable alternative to manual editing of SSH configuration files.
Manage your ssh alias configs easily.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Manssh is a standalone Go binary with no external dependencies, making it easy to install and run on any system without additional setup, as highlighted in the README's 'No dependence' feature.
It provides intuitive commands for adding, listing, updating, and deleting SSH aliases directly from the terminal, streamlining management compared to manual file editing, as shown in the usage examples.
The tool includes a backup command to safely create copies of SSH configuration files, preventing data loss during modifications, demonstrated in the README with commands like 'manssh backup ./config_backup'.
Manssh handles SSH config files with Include directives, offering flags and environment variables to specify file paths for alias operations, addressing a common complexity in SSH configuration management.
Manssh focuses only on alias management and doesn't support full SSH config editing, such as complex nested configurations or advanced options beyond what the underlying ssh_config library allows, as noted in the README.
The core parsing logic relies on the third-party ssh_config library, meaning any bugs or limitations in that library could impact manssh's functionality, a point the author acknowledges in the README.
For features like the Include directive, users must set environment variables (e.g., MANSSH_SHOW_PATH) or use flags, adding complexity that might not be intuitive for casual users, as detailed in the configuration section.