Un outil CLI élégant pour gérer et se connecter facilement à vos serveurs SSH
Project description
EasySSH
Un outil CLI élégant pour gérer et se connecter facilement à vos serveurs SSH, avec une interface utilisateur similaire à Claude CLI.
🚀 Installation rapide
Via pipx (recommandé)
# Installation depuis PyPI (une fois publié)
pipx install easyssh-cli
# Ou installation depuis GitHub
pipx install git+https://github.com/basile-parent/easyssh.git
Via pip
# Depuis PyPI
pip install easyssh-cli
# Depuis GitHub
pip install git+https://github.com/basile-parent/easyssh.git
✨ Fonctionnalités
- 🎨 Interface utilisateur élégante avec ASCII art orange
- 🔍 Autocomplétion intelligente similaire à Google Search
- 💾 Sauvegarde automatique de la configuration des serveurs
- 🔑 Support des clés SSH privées et ports personnalisés
- ⌨️ Raccourcis clavier intuitifs
- 📋 Gestion complète des serveurs (ajouter, supprimer, lister)
- 🔄 Suggestions en temps réel avec navigation par flèches
🎯 Utilisation
Interface utilisateur principale
easyssh
Raccourcis clavier dans l'interface
Enter: Se connecter au serveur sélectionné (ou autocompléter + connecter depuis la recherche)Tab: Autocompléter la suggestion sélectionnée↑/↓: Naviguer dans les suggestionsCtrl+A: Ajouter un nouveau serveurCtrl+D: Supprimer le serveur sélectionnéEscape: Effacer la rechercheCtrl+C: Quitter l'application
Commandes CLI
# Lancer l'interface utilisateur
easyssh ui
# Se connecter directement à un serveur
easyssh connect nom_du_serveur
# Lister tous les serveurs
easyssh list
# Ajouter un serveur interactivement
easyssh add
# Supprimer un serveur
easyssh remove nom_du_serveur
# Aide
easyssh --help
📖 Guide de démarrage rapide
- Installation :
pipx install easyssh-cli - Premier lancement :
easyssh - Ajouter un serveur : Appuyez sur
Ctrl+Aet remplissez les informations - Recherche intelligente : Tapez dans la barre de recherche, utilisez
↑/↓etTab - Connexion : Sélectionnez un serveur et appuyez sur
Enter
🔧 Configuration
Les serveurs sont sauvegardés dans ~/.config/easyssh/servers.json.
Exemple de configuration :
[
{
"name": "serveur-prod",
"host": "192.168.1.100",
"user": "admin",
"port": 22,
"key_path": "/home/user/.ssh/id_rsa",
"description": "Serveur de production principal"
}
]
🛠️ Développement
Prérequis
- Python 3.7+
- pipx (recommandé) ou pip
Installation en mode développement
git clone https://github.com/basile-parent/easyssh.git
cd easyssh
pipx install -e .
Structure du projet
easyssh/
├── easyssh.py # Code principal
├── setup.py # Configuration d'installation
├── pyproject.toml # Configuration moderne du package
├── README.md # Documentation
├── LICENSE # Licence MIT
├── requirements.txt # Dépendances
├── MANIFEST.in # Fichiers à inclure dans le package
├── .gitignore # Fichiers à ignorer
└── .github/
└── workflows/
└── test.yml # Tests automatisés
📦 Dépendances
- rich (≥13.0.0) : Interface utilisateur colorée et tables
- textual (≥0.41.0) : Framework d'interface terminal
- pyfiglet (≥0.8.0) : ASCII art pour le titre
- colorama (≥0.4.0) : Support des couleurs cross-platform
- paramiko (≥3.0.0) : Client SSH Python
- click (≥8.0.0) : Framework CLI
🤝 Contribution
Les contributions sont les bienvenues ! Pour contribuer :
- Forkez le projet
- Créez une branche pour votre fonctionnalité (
git checkout -b feature/nouvelle-fonctionnalite) - Committez vos changements (
git commit -am 'Ajout d'une nouvelle fonctionnalité') - Poussez vers la branche (
git push origin feature/nouvelle-fonctionnalite) - Ouvrez une Pull Request
📝 Licence
Ce projet est sous licence MIT. Voir le fichier LICENSE pour plus de détails.
🐛 Signaler un problème
Si vous rencontrez un problème, veuillez ouvrir une issue avec :
- Votre système d'exploitation
- La version de Python
- Les étapes pour reproduire le problème
- Les messages d'erreur (si applicable)
🎉 Remerciements
EasySSH - Simplifiez vos connexions SSH ! 🚀
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file easyssh_cli-1.0.0.tar.gz.
File metadata
- Download URL: easyssh_cli-1.0.0.tar.gz
- Upload date:
- Size: 11.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c1c8a897f7fcaa053c1fb0c2772987fee10d66a5f01e97135ac427f71194478c
|
|
| MD5 |
63bc4d65ba05444b6d535683ea8aefac
|
|
| BLAKE2b-256 |
0643ef93b12970126a1f45298369d7e5e09ff4e4da7f4bec68a2cba998a536fc
|
File details
Details for the file easyssh_cli-1.0.0-py3-none-any.whl.
File metadata
- Download URL: easyssh_cli-1.0.0-py3-none-any.whl
- Upload date:
- Size: 9.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
511fbdd4412bb88b5cde9721428642839179a55381723715b1724b0d9055b5ec
|
|
| MD5 |
1f64d52193228871ed43b76f3d8b7436
|
|
| BLAKE2b-256 |
5d05a72c30e6ace02126eb0a1f82d2af1d9ae9716bf3dd138911279a1b5749c7
|