Skip to main content

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 suggestions
  • Ctrl+A : Ajouter un nouveau serveur
  • Ctrl+D : Supprimer le serveur sélectionné
  • Escape : Effacer la recherche
  • Ctrl+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

  1. Installation : pipx install easyssh-cli
  2. Premier lancement : easyssh
  3. Ajouter un serveur : Appuyez sur Ctrl+A et remplissez les informations
  4. Recherche intelligente : Tapez dans la barre de recherche, utilisez ↑/↓ et Tab
  5. 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 :

  1. Forkez le projet
  2. Créez une branche pour votre fonctionnalité (git checkout -b feature/nouvelle-fonctionnalite)
  3. Committez vos changements (git commit -am 'Ajout d'une nouvelle fonctionnalité')
  4. Poussez vers la branche (git push origin feature/nouvelle-fonctionnalite)
  5. 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

  • Inspiré par l'interface de Claude CLI
  • Construit avec Textual
  • ASCII art généré avec pyfiglet

EasySSH - Simplifiez vos connexions SSH ! 🚀

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

easyssh_cli-1.0.0.tar.gz (11.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

easyssh_cli-1.0.0-py3-none-any.whl (9.9 kB view details)

Uploaded Python 3

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

Hashes for easyssh_cli-1.0.0.tar.gz
Algorithm Hash digest
SHA256 c1c8a897f7fcaa053c1fb0c2772987fee10d66a5f01e97135ac427f71194478c
MD5 63bc4d65ba05444b6d535683ea8aefac
BLAKE2b-256 0643ef93b12970126a1f45298369d7e5e09ff4e4da7f4bec68a2cba998a536fc

See more details on using hashes here.

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

Hashes for easyssh_cli-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 511fbdd4412bb88b5cde9721428642839179a55381723715b1724b0d9055b5ec
MD5 1f64d52193228871ed43b76f3d8b7436
BLAKE2b-256 5d05a72c30e6ace02126eb0a1f82d2af1d9ae9716bf3dd138911279a1b5749c7

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page