Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
sshelf — Interfaz de terminal rápida para tus hosts SSH: búsqueda difusa y conexión con dos pulsaciones de teclas, transferencia de archivos SFTP de doble panel y reenvío de puertos en segundo plano. Mantiene su propia base de datos de hosts y genera el comando ssh — nunca edita ~/.ssh/config. | Kitploit
Herramientas/GitHubGitHub/max-rh/sshelf
Utilidades de Propósito GeneralSeguridad de RedesUtilidades y FrameworksAutenticaciónHerramienta de Acceso Remoto
GitHubmax-rh/sshelf

sshelf

Ver Repositorio
6689hace 3 díasRevisado por Kitploit
Sitio web

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →

Acerca de

Interfaz de terminal rápida para tus hosts SSH: búsqueda difusa y conexión con dos pulsaciones de teclas, transferencia de archivos SFTP de doble panel y reenvío de puertos en segundo plano. Mantiene su propia base de datos de hosts y genera el comando ssh — nunca edita ~/.ssh/config.

Compartir

sshelf

Busca difusamente tus hosts SSH y conéctate con dos pulsaciones de teclas.

sshelf mantiene su propia lista de hosts, construye el comando ssh por ti y luego se aparta de tu camino. Entrega la terminal al OpenSSH real y nunca toca ~/.ssh/config.

crates.io CI docs built with Ratatui MSRV license

sshelf: escribe unas pocas letras y tiene el comando ssh listo

Instalación

macOS y Linux, x86_64 y arm64. Los paquetes precompilados no necesitan toolchain de Rust. En tiempo de ejecución, sshelf requiere OpenSSH 8.4+, que es de donde proviene el suministro automático de contraseñas.

Homebrew (macOS o Linux):

root@kitploit:~
brew install max-rh/tap/sshelf

Instalador por shell (binario precompilado, detecta tu plataforma):

root@kitploit:~
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/max-rh/sshelf/releases/latest/download/sshelf-installer.sh | sh
Más opciones (Debian/Ubuntu · Fedora/RHEL · Gentoo · cargo)

Debian/Ubuntu: descarga el .deb del último lanzamiento y luego sudo apt install ./sshelf_*_amd64.deb (o *_arm64.deb).

Fedora / RHEL / Rocky / openSUSE: descarga el .rpm (compilación estática, funciona en cualquier distro RPM) del último lanzamiento y luego sudo dnf install ./sshelf-*.x86_64.rpm (o .aarch64.rpm).

Gentoo: overlay mantenido por la comunidad (no oficial, gracias a @masterwolf-git). Ejecuta eselect repository enable masterwolf && emerge --sync && emerge --ask app-admin/sshelf.

Cargo (desde crates.io; requiere Rust 1.88+): cargo install sshelf.

La autocompletación por tabulación del shell se incluye con cada paquete. Abre una nueva shell después de instalar. En Linux, los secretos usan un backend de Secret Service en Rust puro (sin dependencias de compilación libdbus/OpenSSL).

Detalles completos y configuración de autocompletación: Guía de instalación.

Por qué lo construí

Gestiono un par de docenas de máquinas (un homelab, algunos VPS, unas cuantas cajas detrás de un bastión), y seguía escribiendo ssh -J bastion -i ~/.ssh/some-key -p 2222 user@host de memoria o buscando en el historial de mi shell. Cada gestor SSH que probé quería o bien ser dueño de ~/.ssh/config o bien darme una cuenta y sincronizar mis hosts a través del servidor de alguien. No quería ninguna de las dos cosas. Quería un lanzador que mantuviera su propia lista, construyera el comando y se apartara del camino. Y un lugar para guardar las contraseñas de los pocos hosts que no pueden usar claves, sin ponerlas nunca en un archivo. Así que lo construí.

Qué obtienes

Lanzador difuso

Escribe para filtrar. Enter conecta. Tus hosts más usados flotan hacia arriba por sí solos (frecuencia: recuento de uso, atenuado por la recencia), y tag:prod / site:homelab acotan la lista aún más. Ctrl-y copia el comando que construyó en lugar de ejecutarlo. Desde la shell, sshelf prod-web conecta por nombre y sshelf - se reconecta al último host, ambos sin abrir la TUI.

El lanzador de sshelf filtrando tres hosts mientras escribes

Hace exec() a tu ssh

sshelf construye el argv a partir del registro del host, derriba su propia interfaz y luego se reemplaza a sí mismo con OpenSSH. No hay ningún wrapper entre tú y la sesión: una TTY real, tu ssh, tus flags sin configuración. Cuando la sesión termina vuelves a tu shell, no a un menú. El comando que ejecuta es exactamente el que Ctrl-y te muestra. Cómo se construye el comando.

Transferencia de archivos de doble panel

Ctrl-t abre tus archivos a la izquierda y los del host a la derecha, sobre una única conexión autenticada. Space marca, Ctrl-a marca todo lo que muestra el filtro, Ctrl-s envía el conjunto completo en cualquier dirección, F7 crea un directorio. Un nombre que el destino ya tenga se omite, nunca se sobrescribe.

La pantalla de transferencia de doble panel con dos entradas marcadas

Reenvíos de puertos en segundo plano

Ctrl-f abre un túnel Local, Remoto o SOCKS que sigue ejecutándose después de que salgas de sshelf, y después de que cierres la terminal. F4 lista cada uno de ellos en todos los hosts y detiene el que elijas. Se rastrean por pid y se reconcilian contra los procesos que realmente se están ejecutando, así que nada permanece en una lista después de morir. Sin daemon, sin supervisor.

El gestor de reenvíos listando dos túneles activos

Modo tmux

Configura tmux = "window" o "pane" y Enter abre el host en una nueva ventana de tmux (nombrada según el host) o en un nuevo panel en lugar de reemplazar a sshelf. Termina la sesión y el selector sigue ahí, todavía ejecutándose.

Enter abre el host en una nueva ventana de tmux; sshelf sigue ejecutándose

Sitios y etiquetas

F3 gestiona sitios: un sitio agrupa hosts y puede llevar un bastión, usuario, puerto y clave compartidos que sus miembros heredan al conectar, rellenando solo los campos que un host deja sin configurar. Las etiquetas son etiquetas de forma libre sobre las que filtras. Ambas aparecen en la lista, y un bastión heredado aparece en el comando que sshelf construye.

El gestor de sitios con tres sitios y sus valores predeterminados compartidos

Contraseñas sin sshpass

Para los hosts que no pueden usar claves, sshelf almacena la contraseña en tu llavero del sistema operativo (o una bóveda cifrada con age en una máquina sin cabeza) y la suministra a través de SSH_ASKPASS cuando ssh la pide. Solo responde a avisos con la forma de una contraseña real o un aviso de passphrase, así que un servidor no puede suplantar el secreto con texto de apariencia similar. La contraseña nunca está en un archivo, nunca en ps, nunca en una línea de comandos. Los hosts que también quieren un código de verificación reciben un aviso antes de que comience la conexión. Contraseñas, claves y 2FA · Seguridad.

El formulario de añadir host en la sección de autenticación, eligiendo una clave

Exportar a ssh_config

sshelf export escribe un fragmento de ssh_config propio y te da una única línea Include para que pegues tú mismo en ~/.ssh/config. Después, el ssh normal, scp, rsync, git y cualquier cosa que lea la configuración SSH (VS Code Remote-SSH, JetBrains Gateway) resuelven tus hosts de sshelf por nombre, bastión incluido. El archivo se refresca cada vez que tus hosts cambian. sshelf sigue escribiendo nada bajo ~/.ssh.

sshelf export escribiendo un fragmento de ssh_config, y el fragmento en sí

Importa lo que ya tienes

sshelf import lee ~/.ssh/config, estrictamente de solo lectura, y copia los hosts que puede modelar. sshelf import --tailscale ejecuta tu propio CLI de tailscale y convierte tu tailnet en hosts buscables, con nombres MagicDNS, el tailnet como sitio y las etiquetas ACL como etiquetas. Ambos son de solo añadir, así que volver a ejecutarlos siempre es seguro, y ninguno ocurre a menos que lo pidas.

sshelf doctor

Un comando para cuando algo no funciona. Comprueba tu versión de OpenSSH, si el backend de secretos realmente se abre, si hosts.toml se analiza, hosts que apuntan a un sitio que no existe, un socket de agente faltante y una exportación que se ha desviado. Nombra la solución para cada uno. De solo lectura, sale con 1 si algo falla, y nunca contacta con un host.

sshelf doctor listando sus comprobaciones, con una advertencia

Cómo se compara

Compilado en septiembre de 2026 a partir del propio README de cada proyecto (y, para Termius, su sitio). Una celda que dice "no indicado" significa que la documentación del propio proyecto no lo dice.

sshelfpurpleomnysshVoltiusTermius
Se ejecuta enterminal (TUI)terminal (TUI)terminal (TUI) + aplicación de escritorioaplicación de escritorio (Tauri)aplicación de escritorio + móvil
Edita ~/.ssh/confignuncasí, en el lugarno, lo lee al inicion/d (almacén propio)n/d (almacén propio)
Cuenta requeridanononopara sincronización en tiempo realsí
Guarda tokens para otros serviciosnosí, uno por proveedor de nubenosí, para sincronizaciónno indicado
Llamadas de red propiasningunasincronización con proveedor de nubesondeo de métricas de hostssincronización, actualizaciones, métricas de hostssincronización
Custodia de secretostu llavero del SO / bóveda agellavero + gestores de contraseñasno indicadosu bóveda E2EEsu bóveda cifrada
Conectarexec() a tu sshejecuta tu comando sshterminal integradaterminal integradaterminal integrada
Reenvíos de puertossí, sobreviven al salirsí, monitorización en vivono indicadosísí
Transferencia de archivosSFTP de doble panelpanel divididoSFTP de dos panelesdoble panel, arrastrar y soltarSFTP
Contenedores / paneles de métricasnosísísíno indicado
Compartir en equipononononiveles de pagoniveles de pago
PlataformasmacOS, LinuxmacOS, LinuxmacOS, Linux, Windows, TermuxWindows, macOS, LinuxmacOS, Windows, Linux, iOS, Android
LicenciaMIT / Apache-2.0MITApache-2.0AGPL-3.0propietaria

sshelf no tiene paneles, ni gestión de contenedores, ni compartir en equipo, ni compilación para Windows. Las primeras tres son elecciones, y PRIVACY.md explica por qué: cada una significaría que sshelf guardara algo tuyo, o hablara con algo por su cuenta.

Lo que nunca hará

  • Sin telemetría. Sin analíticas, sin informes de errores, sin comprobación de actualizaciones.
  • Sin cuenta, sin nube, sin servidor de sincronización. No hay nada a lo que registrarse.
  • Sin tokens guardados. sshelf nunca almacena una credencial de nube o API.
  • Sin llamadas de red propias. El único tráfico es la sesión SSH que pediste.
  • Nunca edita ~/.ssh/config, y nunca escribe nada bajo ~/.ssh.
  • Sin secretos en hosts.toml. Ese archivo es seguro para confirmar y compartir.
  • Sin Electron. Un solo binario, de unos cuatro megabytes.

PRIVACY.md dice qué lee, escribe, ejecuta y envía. SECURITY.md es el modelo de amenazas para los secretos almacenados.

Primeros cinco minutos

root@kitploit:~
sshelf                        # lanza la TUI (Ctrl-a añade tu primer host)
sshelf import --dry-run       # previsualiza una importación de solo lectura desde ~/.ssh/config
sshelf import                 # ...hazlo
sshelf import --tailscale     # ...o importa todo tu tailnet de Tailscale
sshelf prod-web               # conéctate directamente a un host guardado (omite la TUI)
sshelf -                      # reconéctate al host usado más recientemente
sshelf list tag:prod --json   # listado scriptable (campos + el comando ssh)
sshelf print-command db       # imprime el comando ssh en lugar de ejecutarlo
sshelf export                 # archivo Include para que ssh/scp/VS Code normales vean tus hosts
sshelf doctor                 # ¿algo no funciona? comprueba la configuración y te dicen la solución

En la TUI: escribe para filtrar (más tag:NAME / site:NAME) y Enter para conectar. F1 muestra todas las teclas.

Documentación

La guía de usuario cubre todo: Inicio rápido · Referencia de CLI · Configuración · FAQ · sshelf doctor. Hay páginas por función para transferencia de archivos, reenvío de puertos, sitios y etiquetas, contraseñas y 2FA y exportación de configuración SSH. La arquitectura y las decisiones de diseño viven en docs/, y hay un llms.txt para las máquinas.

Preguntas e ideas

Pregunta, sugiere una función o muestra lo que construiste con él en GitHub Discussions. Las contribuciones son bienvenidas. Empieza con CONTRIBUTING.md.

Soporte

Si sshelf te resulta útil, se agradece una propina en Bitcoin (totalmente opcional):

Donate BTC

Bitcoin: bc1qcdeyhpwq76u97dhymx876n49uq85z4y3ccrpje

Licencia

Doble licencia bajo MIT o Apache-2.0, a tu elección (la norma del ecosistema Rust).

Descargar herramienta