Absortio

Email → Summary → Bookmark → Email

GitHub - lfaoro/ssm: Terminal UI for SSH written in Go

https://github.com/lfaoro/ssm Apr 25, 2025 16:42

Extracto

Terminal UI for SSH written in Go. Contribute to lfaoro/ssm development by creating an account on GitHub.

Resumen

Aquí tienes el resumen profesional y detallado del contenido proporcionado:

Resumen Principal

SSM, o Secure Shell Manager, es una interfaz de usuario de terminal (TUI) de código abierto escrita en Go que optimiza la gestión de conexiones SSH. Diseñada para ingenieros, esta herramienta centraliza la organización de servidores, facilita la conexión y permite filtrar y etiquetar hosts de manera eficiente, todo desde un entorno de terminal sencillo. Su diseño incorpora una navegación intuitiva con atajos de teclado inspirados en Vim, la capacidad de recargar automáticamente la configuración SSH y la opción de alternar rápidamente entre SSH y MOSH. SSM busca mejorar la productividad al simplificar tareas rutinarias como la edición de configuraciones y la administración de múltiples servidores mediante un sistema de etiquetado avanzado. Con una clara hoja de ruta que incluye funcionalidades para la ejecución de comandos remotos y la transferencia de archivos, SSM se posiciona como una solución integral para la interacción eficiente con infraestructuras, prometiendo una experiencia de usuario ágil y unificada.

Elementos Clave

  • Interfaz de Usuario en Terminal (TUI) y Navegación Eficiente: SSM se distingue por su interfaz basada en texto, lo que permite a los ingenieros gestionar sus servidores directamente desde la línea de comandos. Incorpora atajos de teclado inspirados en Vim (jkhl, ctrl+d/u, g/G), garantizando una navegación rápida y familiar para muchos usuarios avanzados, y optimizando así la interacción con la herramienta sin necesidad de una interfaz gráfica.
  • Organización y Gestión Avanzada de Conexiones: La herramienta ofrece capacidades robustas para organizar servidores, incluyendo filtrado exhaustivo y la capacidad de etiquetar hosts mediante tags extendidos en la configuración SSH (ej. #tag: admin). Esto facilita la agrupación y el acceso rápido a subconjuntos específicos de servidores, mejorando significativamente la escalabilidad y la facilidad de gestión para entornos con múltiples máquinas.
  • Funcionalidades de Conectividad y Configuración Inmediata: SSM permite conectar y desconectar fácilmente de hosts, con la opción de **alternar entre SSH y

Contenido

Secure Shell Manager

Terminal UI for SSH written in Go

version license go report card follow on x contributors

SSM is an open source (MIT) SSH connection manager that helps engineers organize servers, connect, filter, tag, execute commands (soon), transfer files (soon), and much more from a simple terminal interface.

demo

Notable features

  • vim keys navigation: jkhl, ctrl+d/u, g/G
  • auto-reload SSH config on change
  • filter through all your servers
  • simple connect and return flow
  • switch between SSH and MOSH with a tab
  • quickly edit configs <ctrl+e>
  • create free root servers for research
  • extended config with #tag: keys, e.g.: $ ssm admin will load only hosts w/ #tag: admin
  • ssm --exit will exit ssm once a conn is established
  • ssm --show or ctrl+v in the UI will show selected host params

See CHANGELOG for more info.
See HELP for CLI flags.

Key-binds

<enter↵>       connect to selected host
<ctrl+v>       show config for selected host
<ctrl+e>       edit ssh configs
<tab>          switch between SSH/MOSH
</ or ?>       filter hosts
<q / esc>      quit

# under development (coming soon)
ctrl+r         run commands on the server without starting a pty 
ctrl+s         sftp upload/download files to/from server 
ctrl+p         port-forwarding UI 
space␣         select multiple hosts to interact with

Install

Download ssm binary from Releases

available for Linux, MacOS, Freebsd (need more archs? just ask)

# bash one-liner for linux/macos
curl -sSL https://raw.githubusercontent.com/lfaoro/ssm/refs/heads/main/scripts/get.sh | bash
wget -qO- https://raw.githubusercontent.com/lfaoro/ssm/refs/heads/main/scripts/get.sh | bash

# brew only for macos
brew install lfaoro/tap/ssm

# go install (requires Go)
go install github.com/lfaoro/ssm@latest

Build from source

requires Go

git clone https://github.com/lfaoro/ssm.git \
  && cd ssm \
  && make build \
  && bin/ssm

Help

Road map

  • add port-forwarding UI
  • add run command on host
  • add multiple hosts selection
  • add run commands on multiple hosts asynchronously
  • add sftp with interactive files selector
  • add sftp to multiple hosts async

Contributors

Pull requests are very welcome and will be merged. Feature requests are also welcome, we're happy to implement your ideas.

Support SSM

If ssm is useful to you, kindly give us a star.

License

MIT license

Fuente: GitHub