ARI CLI is a powerful and easy-to-use command-line tool for managing SSH aliases, named after my daugther Ariella. You can save, list, delete, and manage your SSH aliases with ease. With ARI CLI, you can quickly connect to remote systems without typing long SSH commands repeatedly.
- Add an Alias: Save SSH commands with aliases for quick access.
- Delete an Alias: Remove an alias when it's no longer needed.
- List Aliases: View all saved aliases and their corresponding commands.
- Run Alias: Execute a saved alias command directly.
- Show Alias: View the command behind a specific alias.
- Export Aliases: Export your saved aliases to a JSON file for backup or sharing.
- Import Aliases: Import aliases from a JSON file.
- Clear Aliases: Remove all saved aliases from the configuration.
- Status: Check if an alias can successfully connect via SSH (basic connectivity check).
- Backup: Create a backup of all aliases to a file.
- get: Show the command behind a specific alias.
- remove: Remove a saved alias.
- rename: Rename an alias.
- update: Update an alias with a new command.
To install ARI CLI, you can use pip, Python's package manager. If you haven't already installed pip, please follow the instructions at https://pip.pypa.io/en/stable/installation/.
You can install the latest version of ARI CLI with the following command:
pip install ari-cliAlternatively, you can install the project directly from GitHub:
pip install git+https://github.com/oseghalep/ari-cli.gitAfter installing ARI CLI, you can run the tool with the following command:
ari --helpThis will display the help message, showing all available commands and options.
--help: Show help information and usage.
Add a new SSH alias to your configuration.
ari add <alias_name> <ssh_command>ari add myserver 'ssh -i ~/.ssh/id_rsa user@192.168.1.10'Remove a specific alias from the configuration.
ari delete <alias_name>ari delete myserverShow a list of all saved aliases and their corresponding commands.
ari listari listDisplay the SSH command linked to a specific alias.
ari get <alias_name>ari get myserverRun the SSH command linked to an alias directly.
ari run <alias_name>ari run myserverClear all saved aliases from the configuration.
ari clearari clearExport all saved aliases to a JSON file for backup or sharing.
ari export <file_path>ari export ~/aliases_backup.jsonImport saved aliases from a JSON file.
ari import <file_path>ari import ~/aliases_backup.jsonCheck if an alias can connect successfully via SSH (basic connectivity check).
ari status <alias_name>ari status myserverRemove a specific alias from the configuration.
ari remove <alias_name>ari remove myserverShow the SSH command behind an alias.
ari show <alias_name>ari show myserverUpdate an existing alias with a new SSH command.
ari update <alias_name> <new_command>ari update myserver 'ssh newuser@192.168.1.20'Rename a saved alias.
ari rename <old_name> <new_name>ari rename myserver newserverCreate a backup of all saved aliases to a file.
ari backup <file_path>ari backup ~/aliases_backup.jsonARI CLI now supports prompting for a remote server password or an SSH private key passphrase when connecting.
Add an alias that prompts for a password:
ari add myserver "ssh user@192.168.1.10" --password
#### Example:
```bash
ari add keyserver "ssh -i ~/.ssh/id_rsa user@192.168.1.11" --passphraseπ Tip: These credentials are never saved β ARI only stores whether a prompt is required.
ARI CLI uses a JSON file to store aliases. By default, this file is located at ~/.ari_aliases.json. You can manually edit the file if needed, but it's recommended to use the CLI commands for managing aliases.
We welcome contributions to ARI CLI! If you have an idea for a new feature or found a bug, please feel free to fork the repository, make changes, and create a pull request.
- Fork the project.
- Create a new branch.
- Make your changes.
- Test your changes.
- Submit a pull request with a clear description of the changes.
This project is licensed under the MIT License - see the https://github.com/oseghalep/ari-cli/blob/main/LICENSE file for details.
- Author: Oseghale Paul Okosun
- GitHub: https://github.com/oseghalep
- Email: oseghalep@gmail.com
Feel free to reach out if you have any questions, feature requests, or issues.