SSH Sender is a lightweight and efficient tool for executing SSH commands across multiple Linux servers. It helps automate server management tasks, making administration simpler and more efficient.
- Execute commands on multiple servers simultaneously
- Basic secure password storage to avoid hardcoding credentials
- Support for SFTP file upload and download
- Asynchronous execution for better performance
- Easily customizable and extendable example scripts
- Secure and lightweight solution for remote server management
- Built-in base logging for better debugging and monitoring
It's important to note that this project is not a standalone Python module. Instead, it provides a collection of base classes with example scripts to help you automate server management tasks. Example scripts can be found in the Examples folder.
Clone this repository locally:
git clone https://github.com/hteppl/ssh-sender.git
cd ssh-sender
Create a virtual environment:
python -m venv .venv
On Linux/macOS:
source .venv/bin/activate
On Windows (cmd):
.venv\Scripts\activate
To install the required dependencies in your virtual environment:
pip install -r requirements.txt
Now you can test some example scripts from the Examples folder!
Contributions to ssh-sender are warmly welcomed. Whether it's bug fixes, new features, or documentation improvements, your input helps make this project better. Here's a quick guide to contributing:
- Fork & Branch: Fork this repository and create a branch for your work.
- Implement Changes: Work on your feature or fix, keeping code clean and well-documented.
- Test: Ensure your changes maintain or improve current functionality, adding tests for new features.
- Commit & PR: Commit your changes with clear messages, then open a pull request detailing your work.
- Feedback: Be prepared to engage with feedback and further refine your contribution.
Happy contributing! If you're new to this, GitHub's guide on Creating a pull request is an excellent resource.