Comment organiser des dizaines de serveurs et oublier l'édition manuelle du fichier SSH config
Quiconque crée régulièrement des machines virtuelles dans le cloud ou gère un serveur domestique sait que le fichier ~/.ssh/config finit par devenir un désordre. Les anciennes adresses IP d'instances Hetzner supprimées depuis longtemps, les alias oubliés et les chaînes ProxyJump s'accumulent. Après un autre passage Terraform, vous devez rouvrir la console cloud, récupérer l'adresse IP et ajouter manuellement l'hôte.
Récemment, je suis tombé sur purple — un gestionnaire SSH TUI open-source écrit en Rust. L'auteur du projet a rencontré exactement la même routine et a décidé de créer une interface de terminal pratique qui s'occupe de la synchronisation de l'infrastructure.

Ce qui se cache sous le capot et comment ça fonctionne
La fonctionnalité principale de l'outil est qu'il ne cherche pas à inventer son propre format fermé ni à cacher les paramètres dans une base de données SQLite. Le programme analyse directement votre ~/.ssh/config, en préservant soigneusement les commentaires, l'indentation, les directives Include et tout paramètre non standard. Toutes les modifications sont réécrites dans le même fichier.
L'interface est construite sur la bibliothèque Ratatui. C'est une TUI rapide et réactive sous la forme d'un binaire unique sans démons ni services d'arrière-plan. Le dépôt compte déjà plus de 7 300 tests, avec le code source disponible sous licence MIT.

Synchronisation avec les fournisseurs cloud
Il suffit de fournir le jeton API du fournisseur, et la liste des instances est automatiquement intégrée dans la configuration. Actuellement, 17 plateformes sont prises en charge, notamment AWS, GCP, Azure, Hetzner, DigitalOcean, Proxmox et Teleport. Vous pouvez connecter plusieurs comptes simultanément.

Lorsque vous éteignez un serveur, l'utilitaire le marque comme obsolète, afin que les adresses mortes n'encombrent pas la liste. Chaque carte d'hôte affiche un résumé détaillé : état de disponibilité, route de connexion, historique d'activité de l'année écoulée, tags et services en cours d'exécution.
Navigation et recherche rapides
Appuyer sur : ouvre une barre de recherche rapide de style palette de commandes (comme Cmd+K dans les éditeurs modernes). La recherche examine les noms d'hôte, les noms d'utilisateur, les paramètres ProxyJump et les tags. Des filtres comme user:, proxy: ou tag: sont disponibles pour éliminer le bruit en quelques touches.

Gestion des conteneurs sans agents
Une fonctionnalité pratique distincte est l'onglet avec les conteneurs Docker et Podman sur l'ensemble de votre infrastructure.

Le programme ne nécessite pas l'installation d'agents tiers ni l'ouverture de ports web sur les serveurs distants. Toute l'interaction se fait par le biais de commandes SSH standard. Directement depuis l'interface, vous pouvez :
- visualiser une liste unifiée des conteneurs de tous les serveurs
- lire les logs en temps réel
- redémarrer et arrêter les conteneurs
- entrer dans un conteneur via exec
- redémarrer les services Docker Compose individuellement
Surveillance des tunnels et exécution de commandes
Habituellement, les tunnels SSH tournent en arrière-plan comme des processus invisibles. Ici, chaque transfert Local, Remote et Dynamic SOCKS est affiché clairement : vous pouvez voir la vitesse de transfert de données, l'activité des canaux, le temps de fonctionnement et même le processus local spécifique qui pousse le trafic.

Si vous devez déployer une commande sur un groupe de serveurs, la section des snippets s'avère utile. Avant le lancement, l'utilitaire affiche le rayon d'action pour éviter de frapper accidentellement des instances supplémentaires, puis enregistre l'historique des exécutions réussies et échouées.

Gestion des clés et Vault
Un onglet distinct recueille toutes les clés du répertoire ~/.ssh. L'utilitaire évalue leur force cryptographique, affiche l'image randomart et liste les serveurs où la clé fonctionne. Appuyer sur p vous permet de déployer la clé publique sur les serveurs sans cycles manuels avec ssh-copy-id.

Pour ceux qui utilisent HashiCorp Vault, il y a la prise en charge des certificats SSH à courte durée de vie. L'interface affiche une barre de temps restant pour le certificat, afin qu'une expiration inattendue de l'accès ne vous surprenne pas.

Autres fonctionnalités utiles : un gestionnaire de fichiers intégré à deux panneaux pour les transferts SCP, l'intégration avec les gestionnaires de mots de passe (1Password, Bitwarden, Keychain système), et son propre serveur MCP pour se connecter aux assistants IA comme Claude Code ou Cursor.
Comment installer
Installation rapide via script :
curl -fsSL getpurple.sh | sh
Ou via les gestionnaires de paquets :
# macOS (Homebrew)
brew install erickochen/purple/purple
# Cargo
cargo install purple-ssh
# Arch Linux (AUR)
yay -S purple-bin
Après l'installation, exécutez la commande purple. Depuis n'importe quel écran, vous pouvez appuyer sur ? pour ouvrir l'aide sur les raccourcis clavier.
À qui cela sera utile
Le projet comble joliment le fossé entre les commandes CLI simples et les clients payants lourds comme Termius. Si vous jonglez fréquemment avec des machines virtuelles cloud, entretenez un homelab, ou venez de vous lasser de trier manuellement les adresses IP des serveurs, purple vous fait gagner beaucoup de temps et garde les configurations propres.
Projets similaires