
Una suite de acceso remoto nativa de terminal para SSH, inventarios en la nube, conectores respaldados por proveedores, comandos paralelos, espacios de trabajo mux, transferencia de archivos y monitoreo.
Te permite seleccionar hosts desde la configuración de OpenSSH, la configuración de lssh o inventarios de proveedores, y luego operarlos a través de SSH nativo o backends de conectores como AWS SSM, EC2 Instance Connect Endpoint, WinRM, Telnet y proveedores personalizados.
Úsalo para shells interactivos, comandos paralelos, espacios de trabajo mux, transferencia de archivos, sincronización, montaje y monitoreo. Los hosts respaldados por conectores exponen solo las operaciones que su conector soporta.
brew install blacknon/lssh/lssh
go install github.com/blacknon/lssh/cmd/lssh@latest
Las funciones de inventario respaldadas por proveedores y de conectores utilizan ejecutables de proveedores separados. Si instalas solo cmd/lssh, esos binarios de proveedor no se instalan automáticamente.
Para desarrollo local, instala los proveedores incluidos con:
mise run provider_install
Para compilaciones de lanzamiento, instala el archivo todo-en-uno lssh-complete_* o agrega el archivo correspondiente lssh-providers_* desde GitHub Releases.
Para más detalles de instalación, incluyendo otras opciones y notas específicas de plataforma, consulta docs/install.md.
¿Ya usas ~/.ssh/config?
Solo ejecuta:
lssh
¿Quieres generar una configuración de lssh desde tu configuración SSH existente?
lssh --generate-lssh-conf > ~/.lssh.toml
lssh está diseñado para un flujo de trabajo simple:
![]() Selector interactivo de hosts |
![]() Ejecución paralela de comandos |
![]() Flujo de trabajo Mux |
![]() Flujo de trabajo Mux con comando |
Todavía puedes apuntar a un solo host directamente cuando ya sabes a dónde conectarte:
lssh -H my-server
Para más detalles sobre formatos de configuración y ajustes, consulta cmd/lssh/README.md.
¿Quieres probar lssh rápidamente con un entorno de pruebas local listo para usar?
Comienza con demo/README.md.
Para el flujo del conector telnet + proveedor de múltiples saltos, usa demo-telnet-provider/README.md.
lssh admite tanto tu configuración OpenSSH existente como su propio formato de configuración.
Si quieres empezar rápidamente, puedes seguir usando ~/.ssh/config tal cual. Si deseas metadatos de host más ricos y ajustes orientados al flujo de trabajo, puedes migrar a una configuración de lssh.
También puedes generar una configuración de lssh desde tu configuración SSH existente:
lssh --generate-lssh-conf > ~/.lssh.toml
Incluso después de migrar a la configuración de lssh, aún puedes apuntarla a tu configuración OpenSSH existente y cargar hosts desde allí:
[sshconfig.default]
path = "~/.ssh/config"
Para más detalles sobre formatos de configuración y ajustes, consulta docs/configuration.md.
lssh puede trabajar con más que entradas de configuración SSH estáticas.
Los proveedores le permiten obtener hosts de fuentes de inventario externas, resolver secretos justo antes de la conexión y usar backends de conexión no SSH como conectores gestionados en la nube.
En v0.10.0, el inventario respaldado por proveedores y los flujos de secretos se tratan mejor como beta.
El acceso respaldado por conectores más allá del SSH nativo sigue siendo experimental, especialmente para entornos de ejecución gestionados en la nube y backends no SSH.
Si quieres probar flujos orientados a proveedores localmente, comienza con estos demos:
Para una visión general de la arquitectura y el protocolo de proveedores, comienza con provider/README.md. Los detalles de las categorías también están documentados en inventory, connector, secret y mixed.
Estas implementaciones de proveedores están actualmente incluidas en este repositorio.
|
provider-inventory-proxmox Construye entradas de host desde el inventario de Proxmox. |
|
provider-connector-openssh Usa el manejo de conexiones compatible con OpenSSH como conector respaldado por proveedor. |
provider-connector-telnet Alcanza destinos telnet a través de la interfaz del conector. |
provider-connector-winrm Ejecuta flujos de trabajo de ejecución de comandos en destinos WinRM. El soporte de shell interactivo no está disponible en v0.10.0. |
|
provider-mixed-aws-ec2 Combina el inventario EC2 con conectores AWS SSM y EC2 Instance Connect Endpoint. Los flujos adyacentes a SSH nativo son utilizables, mientras que el comportamiento específico del conector sigue siendo experimental. |
provider-mixed-azure-compute Construye inventario de Azure Compute con ajustes de acceso conscientes del conector. |
provider-mixed-gcp-compute Construye inventario de Google Compute Engine con ajustes de acceso conscientes del conector. |
|
provider-secret-bitwarden Resuelve referencias de secretos desde [Bitwarden](https://bitwarden.com/). |
provider-secret-onepassword Resuelve referencias de secretos desde [1Password](https://1password.com/). |
provider-secret-custom-script Resuelve referencias de secretos a través de scripts locales personalizados. |
|
provider-secret-os-keychain Resuelve referencias de secretos desde el llavero del sistema operativo local. |
El proyecto lssh incluye múltiples herramientas para flujos de trabajo centrados en SSH.
![]() lssh core / stableAcceso SSH interactivo, comandos paralelos y modos de reenvío. |
![]() lscp transfer / stableCopia estilo SCP sobre SSH/SFTP, incluyendo transferencias remoto a remoto. |
![]() lsftp transfer / stableShell SFTP interactivo para navegar y transferir archivos. |
![]() lsshell sysadmin / betaShell interactivo paralelo con comandos de difusión y dirigidos. | / Espacio de trabajo SSH basado en paneles para flujos de trabajo de terminal multi-host. |
lssh, reenvío y uso de rc localSi estás evaluando lssh, estos proyectos también merecen un vistazo.
Se superponen con partes del conjunto, pero cada uno suele cubrir una porción más estrecha del flujo de trabajo general.
| Proyecto | Comando(s) lssh más cercano(s) | Enfoque principal | En qué se diferencia de lssh |
|---|---|---|---|
sshs | lssh | Selector de hosts SSH basado en TUI | Similar en espíritu a un selector de hosts enfocado, pero lssh también cubre ejecución paralela, reenvío, flujos mux y destinos respaldados por proveedores/conectores. |
ClusterSSH (cssh) | lssh -P, lsmux, lsshell | Administración interactiva multi-host | Fuerte para escritura difundida en múltiples terminales; lsshell y lsmux son más adecuados cuando deseas flujos de shell sincronizados dentro de un mismo conjunto. |
pssh | lssh -p, lscp, lssync | Herramientas de ejecución paralela de comandos y transferencia | Adecuado para trabajos CLI paralelos, mientras que lssh agrega selección de hosts TUI, flujos interactivos y un conjunto de herramientas multi-comando más integrado. |
tmuxinator | lssh -P, lsmux | Gestión de diseño de sesiones tmux | Excelente para espacios de trabajo tmux predefinidos, pero no es un selector de hosts SSH o herramienta de transferencia por sí mismo. está orientado a SSH desde el principio. |
lsshlssh combina selección de hosts, SSH interactivo, ejecución paralela de comandos, reenvío y destinos respaldados por conectores/proveedores.lsshell se enfoca en flujos de shell interactivo paralelo en lugar de solo lanzar muchas terminales.lscp, lsftp y lssync cubren transferencia y sincronización de archivos como comandos de primera clase en el mismo conjunto.lsmux proporciona un espacio de trabajo SSH basado en paneles en lugar de solo plantillas de sesiones.lspipe mantiene los hosts seleccionados reutilizables desde pipelines locales y automatización.
sysadminbeta
![]() lsmon monitor / betaInterfaz de monitoreo multi-host sobre SSH sin agentes remotos adicionales. |
![]() lssync transfer / betaSincronización de árbol sobre SSH/SFTP con modos demonio y bidireccional. |
![]() lsdiff sysadmin / betaCompara archivos remotos de múltiples hosts en una TUI sincronizada. |
![]() lspipe sysadmin / alphaSesiones de host persistentes reutilizables desde pipelines locales y automatización. |
lsshfstransfer / betaMonta un directorio remoto a través de `FUSE en Linux` o `NFS en macOS`. |
lsmux