SSHM - Un super gestionnaire pour SSH

Guillaume, fidèle lecteur de Korben.info depuis un looong moment, s’était bricolé un script bash pour gérer ses connexions SSH. Vous savez, c’est le genre de script qu’on améliore petit à petit, puis qu’on finit par ne plus oser toucher de peur de tout casser. C’est pratique, mais pour reprendre les mots de Guillaume dans le mail qu’il m’a écrit, c’est pas très “élégant”. Puis il est tombé sur deux articles que j’avais écrits : un sur ssh-list , un sur ggh qui sont deux outils sympas pour gérer les connexions SSH depuis le terminal. Mais de son point de vue, incomplets. Et là, il a eu un déclic : “Et si je combinais les deux, en ajoutant ce qui me manque ?” Et un mois plus tard, SSHM était né . On est loin du script du départ puisqu’il a codé un véritable outil en Go avec Bubble Tea , dans une interface TUI moderne, avec un support complet du ~/.ssh/config, une organisation par tags, un historique des connexions, et même du port forwarding avec mémoire. Bref un truc super abouti. Puis environ environ 1 mois après la sortie de la première version, Guillaume a continué à implémenter pas mal de nouveautés : gestion interactive des hôtes SSH, recherche intelligente multi-mots, indicateurs de statut en temps réel, support ProxyJump, directives Include gérées correctement, personnalisation des raccourcis clavier, compatible Linux/macOS/Windows. Le tout dans un binaire unique sans dépendances. Faut vraiment que vous testiez car c’est c’est chouette. Je trouve que SSHM a dépassé largement ses inspirations. Par exemple, ssh-list organise vos serveurs en groupes alors que SSHM utilise des tags. Ça permet de marquer un serveur “prod” + “web” + “urgent” et du coup c’est beaucoup plus flexible que de ranger ça dans des dossiers statiques. ggh fait également du session recall. Cela veut dire qu’il se souvient de vos dernières connexions SSH et vous permet de les relancer rapidement. Et bien SSHM fait ça AUSSI, mais en plus il gère toute votre config SSH : Ajout, édition, suppression d’hôtes, directement depuis l’interface TUI. En vrai, Guillaume n’a pas copié-collé les idées de ces outils mais a repensé totalement l’organisation même de la gestion SSH. Prenez le port forwarding. Combien de fois vous avez perdu vos notes sur vos tunnels SSH ? Hé bien SSHM lui se souvient de vos dernières configs de tunnels locaux, distants, SOCKS…etc. Si vous forwardez toujours le port 3306 de votre base MySQL de dev, SSHM retiendra les paramètres. Ça fait gagner grave de temps car vous n’avez plus à vous rappeler de la syntaxe “ssh -L 3306:localhost:3306 user@serve” à chaque fois. C’est un petit détail qui prouve bien que cet outil a été créé par quelqu’un qui UTILISE vraiment SSH au quotidien, et pas juste pour faire un script vite fait. L’interface TUI est plutôt fluide, avec des raccourcis clavier configurables et vous pouvez même désactiver ESC si vous êtes un puriste vim qui déteste les touches d’échappement. Les indicateurs de connectivité SSH s’affichent en couleur en temps réel (vous voyez d’un coup d’œil quels serveurs répondent) et il y a une superbe recherche (un filtre en réalité) par nom et par tags, qui supporte plusieurs mots. Et si vous préférez scripter, SSHM fonctionne aussi en CLI pur. Par exemple, “sshm connect prod-web-01” dans un script bash, et ça marchera en gardant l’historique des connexions. Un autre point technique important pour les admins qui ont des configs SSH complexes : SSHM gère correctement les directives Include . Hé oui, beaucoup d’outils cassent quand vous avez un ~/.ssh/config qui include des fichiers séparés comme ~/ssh/work et ~/ssh/perso. SSHM est capable non seulement de les lire mais aussi de les éditer correctement. Concernant l’installation c’est ultra-simple. Sur macOS, Homebrew fait le job. Sur Unix/Linux, il suffit d’un script d’une ligne. Enfin, sous Windows, y’a un script PowerShell. Ou alors vous pouvez télécharger direct le binaire depuis les releases GitHub . Homebrew pour macOS : brew install Gu1llaum-3/sshm/sshm Unix/Linux/macOS : curl -sSL https://raw.githubusercontent.com/Gu1llaum-3/sshm/main/install/unix.sh | bash Windows (PowerShell): irm https://raw.githubusercontent.com/Gu1llaum-3/sshm/main/install/windows.ps1 | iex Bref, Guillaume a plutôt bien géré son truc je trouve ! Comme quoi, la barrière entre “bidouille perso” et “outil communautaire reconnu” n’a jamais été aussi basse. Avec un bon framework comme Bubble Tea, une idée claire sur ce qui manque aux outils existants, et un ou deux mois de travail sérieux, et hop, on fait un miracle ! Voilà, donc si vous gérez plusieurs serveurs SSH au quotidien, SSHM vaut vraiment le coup d’œil. Un grand merci à Guillaume pour le partage, c’est trop cool ! https://korben.info/sshm-gestionnaire-ssh.html