🚀 xsshend
xsshend est un outil CLI Rust moderne pour gérer vos serveurs SSH à grande échelle. Téléversez des fichiers et exécutez des commandes sur plusieurs serveurs simultanément.
✨ Fonctionnalités
- 📤 Upload - Transfert parallèle de fichiers vers plusieurs serveurs
- ⚡ Command - Exécution de commandes SSH (séquentiel/parallèle)
- 🔐 Authentification SSH sécurisée (Ed25519, ECDSA, RSA)
- 📊 Barres de progression et format JSON pour CI/CD
- 🔍 Filtrage par environnement, région, type de serveur
- 🎨 Mode interactif pour configuration assistée
🔒 Note de Sécurité
⚠️ Vulnérabilité connue: Dépend de russh avec rsa 0.9.8, affecté par RUSTSEC-2023-0071.
Recommandations :
- ✅ Utilisez des clés Ed25519 (non affectées)
- ✅ Utilisez sur réseaux de confiance (VPN, internes)
- ⚠️ Évitez les réseaux publics non sécurisés
📄 Voir SECURITY.md pour plus de détails.
🚀 Installation
⚡ Démarrage rapide
# 1. Initialiser la configuration
# 2. Éditer ~/.ssh/hosts.json avec vos serveurs
# 3. Lister les serveurs
# 4. Téléverser un fichier
# 5. Exécuter une commande
📖 Exemples
Upload de fichiers
# Upload simple
# Upload avec filtrage
# Upload avec destination personnalisée
# Mode simulation
Exécution de commandes
# Commande simple
# Script bash
# Mode parallèle
# Format JSON pour CI/CD
# Avec timeout personnalisé
⚙️ Configuration
Fichier ~/.ssh/hosts.json :
📚 Documentation complète
- 📖 Documentation principale
- 📘 Guide d'utilisation
- ⚙️ Configuration
- 🔐 Gestion des clés SSH
- 🔧 Installation
- 🔒 Sécurité
- 🤖 CI/CD
- 📝 Changelog
🛠️ Développement
# Cloner le projet
# Compiler
# Tests (118 tests)
# Qualité
🤝 Contribution
Les contributions sont bienvenues ! Avant de soumettre une PR :
- ✅ Formatage :
cargo fmt - ✅ Linting :
cargo clippy - ✅ Tests :
cargo test - ✅ Documentation à jour
📄 Licence
MIT License - voir LICENSE
🔗 Liens
- 📦 Crate
- 📚 Documentation
- 🌐 Site Web
- 🐙 GitHub
👤 Auteur
William Derue - @WillIsback
⭐ Si ce projet vous est utile, n'hésitez pas à lui donner une étoile !
Made with ❤️ and 🦀 Rust