
Une suite d'accès distant native en terminal pour SSH, inventaires cloud, connecteurs basés sur fournisseurs, commandes parallèles, espaces de travail mux, transfert de fichiers et surveillance.
ls + ssh = lssh
lssh est une suite d'accès à distance native en terminal pour les workflows SSH, les inventaires cloud et les connecteurs basés sur des fournisseurs.
Il vous permet de sélectionner des hôtes depuis la configuration OpenSSH, la configuration lssh, ou des inventaires de fournisseurs, puis de les opérer via SSH natif ou des backends de connecteurs tels que AWS SSM, EC2 Instance Connect Endpoint, WinRM, Telnet, et des fournisseurs personnalisés.
Utilisez-le pour des shells interactifs, des commandes parallèles, des espaces de travail mux, le transfert de fichiers, la synchronisation, le montage et la supervision. Les hôtes basés sur des connecteurs n'exposent que les opérations que leur connecteur supporte.
brew install blacknon/lssh/lssh
go install github.com/blacknon/lssh/cmd/lssh@latest
Les fonctionnalités d'inventaire et de connecteur basées sur des fournisseurs utilisent des exécutables de fournisseurs séparés.
Si vous installez seulement cmd/lssh, ces binaires de fournisseurs ne sont pas installés automatiquement.
Pour le développement local, installez les fournisseurs inclus avec :
mise run provider_install
Pour les builds de release, installez soit l'archive tout-en-un lssh-complete_*, soit ajoutez l'archive correspondante lssh-providers_* depuis GitHub Releases.
Pour plus de détails d'installation, y compris d'autres options et des notes spécifiques à la plateforme, voir docs/install.md.
Vous utilisez déjà ~/.ssh/config ?
Exécutez simplement :
lssh
Vous souhaitez générer une configuration lssh à partir de votre configuration SSH existante ?
lssh --generate-lssh-conf > ~/.lssh.toml
lssh est conçu pour un workflow simple :
![]() Sélecteur d'hôtes interactif
Sélectionnez un ou plusieurs hôtes depuis l'interface TUI. |
![]() Exécution de commandes en parallèle
Choisissez des hôtes et exécutez la même commande sur eux. |
![]() Workflow mux
Ouvrez le workflow terminal multi-panneaux. |
![]() Workflow mux avec commande
Démarrez l'interface mux et lancez une commande immédiatement. |
Vous pouvez toujours cibler un seul hôte directement lorsque vous savez déjà où vous connecter :
lssh -H my-server
Pour plus de détails sur les formats de configuration et les paramètres, voir cmd/lssh/README.md.
Vous voulez essayer lssh rapidement avec un environnement de jeu local prêt à l'emploi ?
Commencez par demo/README.md.
Pour le flux connecteur telnet + fournisseur multi-saut, utilisez demo-telnet-provider/README.md.
lssh prend en charge à la fois votre configuration OpenSSH existante et son propre format de configuration.
Si vous voulez commencer rapidement, vous pouvez continuer à utiliser ~/.ssh/config tel quel. Si vous voulez des métadonnées d'hôte plus riches et des paramètres orientés workflow, vous pouvez plutôt passer à une configuration lssh.
Vous pouvez également générer une configuration lssh à partir de votre configuration SSH existante :
lssh --generate-lssh-conf > ~/.lssh.toml
Même après être passé à la configuration lssh, vous pouvez toujours la pointer vers votre configuration OpenSSH existante et charger les hôtes depuis celle-ci :
[sshconfig.default]
path = "~/.ssh/config"
Pour plus de détails sur les formats de configuration et les paramètres, voir docs/configuration.md.
lssh peut fonctionner avec plus que des entrées de configuration SSH statiques.
Les fournisseurs lui permettent de récupérer des hôtes depuis des sources d'inventaire externes, de résoudre les secrets juste avant la connexion, et d'utiliser des backends de connexion non-SSH tels que des connecteurs gérés dans le cloud.
Dans v0.10.0, les workflows d'inventaire et de secrets basés sur des fournisseurs sont mieux traités comme beta.
L'accès basé sur des connecteurs au-delà du SSH natif est encore expérimental, en particulier pour les environnements d'exécution gérés dans le cloud et les backends non-SSH.
Si vous voulez essayer les flux orientés fournisseurs localement, commencez par ces démos :
Pour un aperçu de l'architecture et du protocole des fournisseurs, commencez par provider/README.md. Les détails par catégorie sont également documentés sous inventory, connector, secret et mixed.