Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
essh — Client SSH amélioré avec TUI — gérer les connexions, les clés et les sessions | Kitploit
Outils/GitHubGitHub/matthart1983/essh
Scripting et AutomatisationSécurité RéseauUtilitaires et FrameworksAuthentificationOutil d'Accès à DistanceAnalyse de Journaux
GitHubmatthart1983/essh

essh

Client SSH amélioré avec TUI — gérer les connexions, les clés et les sessions

Voir le dépôt
87511il y a 17 joursVérifié par Kitploit
Site web

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

root@kitploit:~
                         ███████╗███████╗███████╗██╗  ██╗
                         ██╔════╝██╔════╝██╔════╝██║  ██║
                         █████╗  ███████╗███████╗███████║
                         ██╔══╝  ╚════██║╚════██║██╔══██║
                         ███████╗███████║███████║██║  ██║
                         ╚══════╝╚══════╝╚══════╝╚═╝  ╚═╝
                           SSH amélioré pour ceux qui gèrent des flottes

crates.io CI License: MIT macOS Linux

Un client SSH 100 % Rust avec une IUT dense de style Netwatch. Sessions multiples, métriques hôtes en direct et divergence à l'échelle de la flotte — sans quitter le terminal.

Démo ESSH

Installation

root@kitploit:~
cargo install essh

Ou récupérez un binaire pour macOS ou Linux, arm64 ou x86_64, depuis Releases.

Depuis les sources :

root@kitploit:~
git clone https://github.com/matthart1983/essh && cd essh
cargo build --release        # ./target/release/essh

Démarrage

root@kitploit:~
essh                          # lanceur : tapez pour rechercher, Entrée pour se connecter
essh connect deploy@web-01    # directement vers un hôte
essh workspace open prod      # restaure un ensemble de sessions sauvegardées
essh run web -- uptime        # diffuse une commande sur un groupe tagué

Les hôtes proviennent de ~/.ssh/config — y compris IdentityFile, ProxyJump et Match — donc rien à importer avant de commencer.

Touches

Tout ce qui est courant se fait en une pression de touche. Le shell conserve toutes les combinaisons Ctrl, donc Ctrl+D signifie toujours EOF et Ctrl+C interrompt toujours.

F1 aideF2 moniteurF3 fichiersF4 redirections de port
F5 mini moniteurF6 détacherF7/F8 session préc./suiv.F9 nouvelle session
F10 menu de commandes

Sur macOS, cette rangée correspond par défaut à la luminosité et au volume — F10 coupe le son. Soit maintenez fn avec ces touches, soit activez une fois Réglages Système → Clavier → Utiliser F1, F2, etc. comme touches de fonction standard. La voie du préfixe ci-dessous n'en a besoin d'aucune et fonctionne partout.

Pour tout le reste, appuyez sur Ctrl+A, relâchez, puis la touche — s diviser, w fermer, t thème, 1–9 sauter vers une session, [/] redimensionner. La bande en bas d'une session liste les touches applicables à l'instant, donc rien à mémoriser. Changez le préfixe avec prefix_key sous [session].

Les combinaisons Option/Alt fonctionnent sur le tableau de bord et les autres écrans, mais pas quand un shell a le focus — là, essh revendique exactement une touche, le préfixe, et transmet tout le reste, donc Alt+f reste le forward-word de readline et Alt+. reste yank-last-argument. Dans une session, ce sont les touches de fonction ou le préfixe.

Ce qu'il fait

Sessions multiplesOnglets et divisions dans une seule fenêtre, avec défilement arrière et reconnexion par session.
Moniteur hôte en directCPU, mémoire, disque, réseau et principaux processus, échantillonnés en arrière-plan pour que la vue soit chaude à l'ouverture. Aucun agent — de simples canaux d'exécution SSH.
DivergenceCompare chaque hôte à son ensemble de pairs et vous dit quel hôte diffère, sur quelle facette, et pourquoi.
Transfert de fichiersNavigateur local/distant à deux volets via SFTP.
Redirection de portAjoutez, inspectez et supprimez des redirections sans abandonner la session.
Audit et relectureJournal d'audit JSON structuré ; les sessions s'enregistrent en asciicast pour relecture.

Divergence

Quarante serveurs web, trente-neuf en ordre, et un avec un noyau différent ou un nginx.conf modifié à la main. Une colonne de points verts ne peut structurellement pas vous montrer cela.

ESSH regroupe les hôtes en ensembles de pairs par tag, collecte les mêmes faits auprès de chacun, et score chaque hôte par rapport au consensus du groupe :

root@kitploit:~
100.0% of 16 facet-checks agree
0 facets diverge across 0 hosts.
2 hosts have never been probed, so their facets are unknown rather than in agreement.

L'écran Fleet nomme la valeur aberrante et les facettes derrière l'affirmation, donc le verdict est vérifiable plutôt qu'affirmé. Les faits qu'il ne peut pas collecter sont signalés comme non collectés — jamais comme un accord.

Thèmes

Huit, parcourus avec t (et Alt+t dans une session, où t appartient au shell), persistés dans la configuration :

dark (défaut) · terminal · light · solarized · dracula · nord · ocean · sky

terminal ne fixe aucune couleur propre — chaque emplacement se résout en une entrée ANSI et le premier plan et l'arrière-plan utilisent ceux de votre terminal, donc pywal, matugen ou un profil de terminal passe directement. sky et light peignent leur propre fond ; ocean utilise celui de votre terminal avec une palette fixe par-dessus.

Ou accédez directement à l'un d'eux depuis le menu de commandes — F10, ou Ctrl+P hors session — et tapez son nom.

root@kitploit:~
essh --theme terminal        # accepte aussi : system, ansi
essh --theme dracula hosts list

Le drapeau s'applique pour une seule exécution et n'est pas réécrit, c'est donc un moyen d'en essayer un sans s'engager. t dans l'IUT le change et l'enregistre.

Configuration

L'état vit dans ~/.essh/ : config.toml, cache.db, audit.log, sessions/, recordings/, known_cas/.

root@kitploit:~
essh config init      # écrit une configuration par défaut
essh config edit      # l'ouvre dans $EDITOR
essh config resolve web-01   # montre comment ssh_config résout un hôte

Les clés d'hôte sont vérifiées et mises en cache, avec une politique TOFU configurable (strict, prompt, auto). Les chiffrements et algorithmes KEX peuvent être restreints.

Référence complète de configuration et d'architecture : SPEC.md.

CLI

root@kitploit:~
essh hosts list | add | remove | import | health
essh keys list | add | remove
essh workspace list | open | save | show | remove
essh session list | replay <id>
essh diag <session-id>        # diagnostics pour une session passée
essh why <host>               # explique pourquoi un hôte ne se connectera pas
essh audit tail --lines 20
essh bench                    # chiffres de performance publiés

Développement

root@kitploit:~
cargo test
cargo clippy --all-targets --all-features -- -D warnings
cargo fmt --check

CI exécute les trois à chaque push.

tests/tui_harness.rs pilote le vrai binaire sur un PTY et vérifie un écran de terminal analysé avec une échéance, car les échecs qui comptent dans une IUT sont l'absence d'une frame plutôt qu'une frame erronée. Les tests qui nécessitent SSH se sautent eux-mêmes quand aucun hôte n'est joignable.

Contribution

Forkez, créez une branche, faites le changement, exécutez les trois vérifications ci-dessus, ouvrez une PR.

Licence

MIT. Voir LICENSE.

Télécharger l’outil