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
sshelf — Interface terminal rapide pour vos hôtes SSH : recherche floue et connexion en deux frappes, transfert de fichiers SFTP à double volet, et redirection de port en arrière-plan. Il conserve sa propre base de données d’hôtes et génère la commande ssh — sans jamais modifier ~/.ssh/config. | Kitploit
Outils/GitHubGitHub/max-rh/sshelf
Utilitaires GénérauxSécurité RéseauUtilitaires et FrameworksAuthentificationOutil d'Accès à Distance
GitHubmax-rh/sshelf

sshelf

Voir le dépôt
6689il y a 3 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 →

À propos

Interface terminal rapide pour vos hôtes SSH : recherche floue et connexion en deux frappes, transfert de fichiers SFTP à double volet, et redirection de port en arrière-plan. Il conserve sa propre base de données d’hôtes et génère la commande ssh — sans jamais modifier ~/.ssh/config.

Partager

sshelf

Recherche floue dans vos hôtes SSH et connexion en deux frappes.

sshelf gère sa propre liste d'hôtes, construit la commande ssh pour vous, puis s'efface. Il cède le terminal au vrai OpenSSH et ne touche jamais à ~/.ssh/config.

crates.io CI docs built with Ratatui MSRV license

sshelf : tapez quelques lettres, et il a la commande ssh prête

Installation

macOS et Linux, x86_64 et arm64. Les paquets précompilés ne nécessitent pas d'outillage Rust. Au moment de l'exécution, sshelf exige OpenSSH 8.4+, d'où provient la fourniture automatique du mot de passe.

Homebrew (macOS ou Linux) :

root@kitploit:~
brew install max-rh/tap/sshelf

Installateur shell (binaire précompilé, détecte votre plateforme) :

root@kitploit:~
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/max-rh/sshelf/releases/latest/download/sshelf-installer.sh | sh
Plus d'options (Debian/Ubuntu · Fedora/RHEL · Gentoo · cargo)

Debian/Ubuntu : récupérez le .deb depuis la dernière version, puis sudo apt install ./sshelf_*_amd64.deb (ou *_arm64.deb).

Fedora / RHEL / Rocky / openSUSE : récupérez le .rpm (compilation statique, fonctionne sur toute distribution RPM) depuis la dernière version, puis sudo dnf install ./sshelf-*.x86_64.rpm (ou .aarch64.rpm).

Gentoo : overlay maintenu par la communauté (non officiel, merci à @masterwolf-git). Exécutez eselect repository enable masterwolf && emerge --sync && emerge --ask app-admin/sshelf.

Cargo (depuis crates.io ; nécessite Rust 1.88+) : cargo install sshelf.

La complétion par tabulation du shell est fournie avec chaque paquet. Ouvrez un nouveau shell après l'installation. Sous Linux, les secrets utilisent un backend Secret Service en pur Rust (aucune dépendance de compilation libdbus/OpenSSL).

Détails complets et configuration de la complétion : Guide d'installation.

Pourquoi j'ai construit cela

Je gère une vingtaine de machines (un homelab, quelques VPS, quelques boîtiers derrière un bastion), et je tapais sans cesse ssh -J bastion -i ~/.ssh/some-key -p 2222 user@host de mémoire ou en fouillant dans mon historique de shell. Chaque gestionnaire SSH que j'ai essayé voulait soit posséder ~/.ssh/config, soit me créer un compte et synchroniser mes hôtes via le serveur de quelqu'un. Je ne voulais ni l'un ni l'autre. Je voulais un lanceur qui gère sa propre liste, construit la commande et s'efface. Et un endroit pour conserver les mots de passe des quelques hôtes qui ne peuvent pas utiliser de clés, sans jamais les mettre dans un fichier. Alors je l'ai construit.

Ce que vous obtenez

Lanceur flou

Tapez pour filtrer. Entrée connecte. Vos hôtes les plus utilisés remontent tout seuls en haut (fréquence : compteur d'utilisation, atténué par la récence), et tag:prod / site:homelab réduisent la liste davantage. Ctrl-y copie la commande construite au lieu de l'exécuter. Depuis le shell, sshelf prod-web connecte par nom et sshelf - se reconnecte au dernier hôte, tous deux sans ouvrir la TUI.

Le lanceur sshelf filtrant trois hôtes pendant que vous tapez

Il fait exec() dans votre ssh

sshelf construit l'argv à partir de l'enregistrement de l'hôte, démonte sa propre interface, puis se remplace lui-même par OpenSSH. Aucun intermédiaire entre vous et la session : un vrai TTY, votre ssh, vos drapeaux sans config. Quand la session se termine, vous revenez à votre shell, pas dans un menu. La commande qu'il exécute est exactement celle que Ctrl-y vous montre. Comment la commande est construite.

Transfert de fichiers à double volet

Ctrl-t ouvre vos fichiers à gauche et ceux de l'hôte à droite, sur une seule connexion authentifiée. Espace marque, Ctrl-a marque tout ce que le filtre affiche, Ctrl-s envoie l'ensemble dans un sens ou dans l'autre, F7 crée un répertoire. Un nom que la destination possède déjà est ignoré, jamais écrasé.

L'écran de transfert à double volet avec deux entrées marquées

Redirections de port en arrière-plan

Ctrl-f ouvre un tunnel Local, Remote ou SOCKS qui continue de fonctionner après avoir quitté sshelf, et après avoir fermé le terminal. F4 liste chacun d'eux sur tous les hôtes et arrête celui que vous choisissez. Ils sont suivis par pid et réconciliés avec les processus réellement en cours, donc rien ne traîne dans une liste après sa mort. Pas de démon, pas de superviseur.

Le gestionnaire de redirections listant deux tunnels actifs

Mode tmux

Définissez tmux = "window" ou "pane" et Entrée ouvre l'hôte dans une nouvelle fenêtre tmux (nommée d'après l'hôte) ou un nouveau volet au lieu de remplacer sshelf. Terminez la session et le sélecteur est toujours là, toujours en cours d'exécution.

Entrée ouvre l'hôte dans une nouvelle fenêtre tmux ; sshelf continue de fonctionner

Sites et étiquettes

F3 gère les sites : un site regroupe des hôtes et peut porter un bastion, un utilisateur, un port et une clé partagés que ses membres héritent au moment de la connexion, ne remplissant que les champs qu'un hôte laisse non définis. Les étiquettes sont des libellés libres sur lesquels vous filtrez. Les deux apparaissent dans la liste, et un bastion hérité apparaît dans la commande que sshelf construit.

Le gestionnaire de sites avec trois sites et leurs valeurs par défaut partagées

Mots de passe sans sshpass

Pour les hôtes qui ne peuvent pas utiliser de clés, sshelf stocke le mot de passe dans votre trousseau système (ou un coffre chiffré age sur une machine sans tête) et le fournit via SSH_ASKPASS quand ssh le demande. Il ne répond qu'aux invites ayant la forme d'un vrai mot de passe ou d'une invite de phrase secrète, donc un serveur ne peut pas hameçonner le secret avec un texte d'apparence similaire. Le mot de passe n'est jamais dans un fichier, jamais dans ps, jamais sur une ligne de commande. Les hôtes qui veulent aussi un code de vérification reçoivent une invite avant le début de la connexion. Mots de passe, clés et 2FA · Sécurité.

Le formulaire d'ajout d'hôte sur la section d'authentification, choisissant une clé

Export vers ssh_config

sshelf export écrit un fragment ssh_config qui lui est propre et vous donne une seule ligne Include à coller vous-même dans ~/.ssh/config. Ensuite, ssh, scp, rsync, git ordinaires, et tout ce qui lit la config SSH (VS Code Remote-SSH, JetBrains Gateway) résolvent vos hôtes sshelf par nom, bastion compris. Le fichier se rafraîchit à chaque changement de vos hôtes. sshelf n'écrit toujours rien sous ~/.ssh.

sshelf export écrivant un fragment ssh_config, et le fragment lui-même

Importez ce que vous avez déjà

sshelf import lit ~/.ssh/config, strictement en lecture seule, et copie les hôtes qu'il peut modéliser. sshelf import --tailscale exécute votre propre CLI tailscale et transforme votre tailnet en hôtes recherchables, avec les noms MagicDNS, le tailnet comme site, et les étiquettes ACL comme étiquettes. Les deux sont uniquement additifs, donc ré-exécuter l'un est toujours sûr, et aucun ne se produit sauf si vous le demandez.

sshelf doctor

Une commande pour quand quelque chose ne fonctionne pas. Il vérifie votre version d'OpenSSH, si le backend de secrets s'ouvre réellement, si hosts.toml s'analyse, les hôtes pointant vers un site qui n'existe pas, un socket d'agent manquant, et un export qui a dérivé. Il nomme le correctif pour chacun. Lecture seule, sort avec 1 si quelque chose a échoué, et il ne contacte jamais un hôte.

sshelf doctor listant ses vérifications, avec un avertissement

Comparaison

Compilé en septembre 2026 à partir du README de chaque projet (et, pour Termius, de son site). Une cellule indiquant « non précisé » signifie que la documentation du projet ne le dit pas.

sshelfpurpleomnysshVoltiusTermius
S'exécute dansterminal (TUI)terminal (TUI)terminal (TUI) + application de bureauapplication de bureau (Tauri)application de bureau + mobile
Modifie ~/.ssh/configjamaisoui, sur placenon, le lit au démarragen/a (stockage propre)n/a (stockage propre)
Compte requisnonnonnonpour la synchronisation en temps réeloui
Détient des jetons pour d'autres servicesnonoui, un par fournisseur cloudnonoui, pour la synchronisationnon précisé
Appels réseau propresaucunsynchronisation fournisseur cloudsondage des métriques d'hôtessynchronisation, mises à jour, métriques d'hôtessynchronisation
Garde des secretsvotre trousseau OS / coffre agetrousseau + gestionnaires de mots de passenon préciséson coffre E2EEson coffre chiffré
Connexionexec() dans votre sshexécute votre commande sshterminal intégréterminal intégréterminal intégré
Redirections de portoui, survivent à la sortieoui, surveillance en directnon préciséouioui
Transfert de fichiersSFTP à double voletvolet diviséSFTP à deux panneauxdouble volet, glisser-déposerSFTP
Conteneurs / tableaux de bord de métriquesnonouiouiouinon précisé
Partage d'équipenonnonnonniveaux payantsniveaux payants
PlateformesmacOS, LinuxmacOS, LinuxmacOS, Linux, Windows, TermuxWindows, macOS, LinuxmacOS, Windows, Linux, iOS, Android
LicenceMIT / Apache-2.0MITApache-2.0AGPL-3.0

sshelf n'a pas de tableaux de bord, pas de gestion de conteneurs, pas de partage d'équipe, et pas de build Windows. Les trois premiers sont des choix, et PRIVACY.md explique pourquoi : chacun signifierait que sshelf détienne quelque chose à vous, ou parle à quelque chose de son propre chef.

Ce qu'il ne fera jamais

  • Pas de télémétrie. Pas d'analytique, pas de rapports de crash, pas de vérification de mise à jour.
  • Pas de compte, pas de cloud, pas de serveur de synchronisation. Rien à quoi s'inscrire.
  • Aucun jeton détenu. sshelf ne stocke jamais de crédentiel cloud ou API.
  • Aucun appel réseau propre. Le seul trafic est la session SSH que vous avez demandée.
  • Ne modifie jamais ~/.ssh/config, et n'écrit jamais rien sous ~/.ssh.
  • Aucun secret dans hosts.toml. Ce fichier peut être commité et partagé en toute sécurité.
  • Pas d'Electron. Un seul binaire, d'environ quatre mégaoctets.

PRIVACY.md indique ce qu'il lit, écrit, exécute et envoie. SECURITY.md est le modèle de menace pour les secrets stockés.

Les cinq premières minutes

root@kitploit:~
sshelf                        # lancez la TUI (Ctrl-a ajoute votre premier hôte)
sshelf import --dry-run       # prévisualisez un import en lecture seule depuis ~/.ssh/config
sshelf import                 # ...faites-le
sshelf import --tailscale     # ...ou importez tout votre tailnet Tailscale
sshelf prod-web               # connectez-vous directement à un hôte enregistré (ignore la TUI)
sshelf -                      # reconnectez-vous à l'hôte le plus récemment utilisé
sshelf list tag:prod --json   # liste scriptable (champs + la commande ssh)
sshelf print-command db       # affichez la commande ssh au lieu de l'exécuter
sshelf export                 # fichier Include pour que ssh/scp/VS Code ordinaires voient vos hôtes
sshelf doctor                 # quelque chose ne fonctionne pas ? vérifiez la configuration et obtenez le correctif

Dans la TUI : tapez pour filtrer (plus tag:NAME / site:NAME) et Entrée pour connecter. F1 affiche chaque touche.

Documentation

Le guide utilisateur couvre tout : Démarrage rapide · Référence CLI · Configuration · FAQ · sshelf doctor. Il existe des pages par fonctionnalité pour le transfert de fichiers, la redirection de port, les sites et étiquettes, les mots de passe et la 2FA, et l'export de config SSH. L'architecture et les décisions de conception vivent dans docs/, et il y a un llms.txt pour les machines.

Questions et idées

Demandez, suggérez une fonctionnalité, ou montrez ce que vous avez construit avec dans GitHub Discussions. Les contributions sont les bienvenues. Commencez par CONTRIBUTING.md.

Soutien

Si sshelf vous est utile, un pourboire en Bitcoin est apprécié (entièrement facultatif) :

Donate BTC

Bitcoin : bc1qcdeyhpwq76u97dhymx876n49uq85z4y3ccrpje

Licence

Double licence sous MIT ou Apache-2.0, à votre choix (la norme de l'écosystème Rust).

Télécharger l’outil
propriétaire