
Cliente SSH mejorado con TUI — gestiona conexiones, claves y sesiones
Un espacio de trabajo SSH con sesiones persistentes y paneles de estado en vivo.
Mantén los shells remotos en ejecución a través de caídas de conexión, cambia entre hosts con teclas o el ratón, y comprueba el estado del sistema sin salir de tu terminal. ESSH usa OpenSSH para las conexiones y tmux para mantener tu trabajo vivo.
Ver la demo de 42 segundos · Descargar la repetición del navegador
Inspecciona discos con df y lsblk, encuentra procesos ocupados con ps, muestrea la actividad
del sistema con vmstat, y comprueba sockets e interfaces con ss e ip.
La demo muestra el cambio de tema de terminal, vistas de estado lateral, media y completa,
cambio de sesión, ayuda,
y una conexión caída recuperando el mismo shell remoto.
Descarga un binario para Linux o macOS, en x86_64 o ARM64, desde
Releases. Extrae el archivo
y coloca essh en algún lugar de tu PATH.
Necesitas tmux 3.3+ y OpenSSH localmente, y tmux en cada host remoto. Las métricas de estado detalladas están disponibles para hosts Linux.
O compila desde el código fuente con Rust:
git clone https://github.com/matthart1983/essh.git
cd essh
cargo build --release
./target/release/essh
ESSH lee los hosts desde ~/.ssh/config, su propia configuración y su caché de hosts.
Por ejemplo:
Host web-01
HostName 192.168.1.20
User deploy
IdentityFile ~/.ssh/id_ed25519
Ejecuta essh, selecciona un host y pulsa Enter. Usa / para filtrar hosts y
Esc para borrar el filtro. Pulsa a para añadir un host o e para editar uno.
OpenSSH gestiona la autenticación y la comprobación de claves de host.
| Tecla | Acción |
|---|---|
| F1 | Abrir o cerrar la ayuda |
| F2 | Ciclar terminal → estado lateral → estado medio → estado completo → terminal |
| F3 | Abrir Sesiones; selecciona una sesión o pulsa n para iniciar otra |
| F4 | Volver al menú principal mientras las sesiones siguen ejecutándose |
| F5 / F6 | Cambiar a la sesión anterior / siguiente |
| h en Hosts | Abrir el estado del host seleccionado |
| r tras una caída de conexión | Reconectar |
| q en Hosts | Salir de ESSH mientras el trabajo remoto sigue ejecutándose |
Haz clic en las pestañas de sesión y en los controles de navegación para cambiar de vista. Haz clic en una fila para seleccionarla; haz doble clic para conectar o cambiar. Usa la rueda del ratón para desplazarte, haz clic en los paneles para enfocarlos y arrastra los divisores para redimensionarlos.
Si tu teclado usa la fila de función para el brillo o el volumen, mantén Fn mientras pulsas una tecla F, o activa las teclas de función estándar en los ajustes de tu teclado. Los controles de navegación también son clicables, y F1 lista las teclas disponibles.
Las sesiones remotas inician el shell de inicio de sesión configurado de la cuenta remota y cargan sus archivos de inicio normales—zsh, bash, fish, o el shell que use esa cuenta. Tu prompt, alias y atajos de teclado del shell provienen de esa cuenta remota. Los shells existentes conservan su estado en ejecución cuando te reconectas.
ESSH usa los colores de tu terminal por defecto. Elige un tema para cambiar el primer plano y el fondo del shell junto con el panel:
essh --theme terminal
essh --theme netwatch
essh --theme light
Pulsa t en los menús o vistas de estado, o Ctrl+A, luego t desde un shell, para abrir el selector de temas. Las teclas de flecha previsualizan cada paleta; Enter o un clic la aplica y la guarda. Esc cancela sin cambiar tu preferencia.
Elige Terminal, Netwatch, Light, Solarized, Dracula, Nord, Ocean o Sky. Netwatch usa un fondo carbón con encabezados cian y medidores verdes. El tema seleccionado se aplica en menús, vistas de estado, barras de navegación y paneles de terminal. Elige Terminal para restaurar los colores nativos de tu terminal. Los programas y prompts aún pueden establecer sus propios colores.
Para guardar una preferencia, establece theme = "terminal" (u otro nombre de tema) al principio
de ~/.essh/config.toml. Aplícalo a un espacio de trabajo abierto con
essh tmux refresh; las sesiones SSH siguen ejecutándose. Tu emulador de terminal controla
la fuente y el tamaño de fuente.
Pulsa F2 para ciclar entre:
| Vista | Lo que ves |
|---|---|
| Terminal | Tu shell con las barras de sesión y navegación |
| Estado lateral | Una franja estrecha con tráfico, CPU, memoria, disco y latencia |
| Estado medio | Tu shell y un panel compartiendo la terminal |
| Estado completo | Tráfico de red, núcleos de CPU, memoria, almacenamiento, pares y procesos |
Los paneles usan medidores finos y lecturas en vivo. Las lecturas no disponibles muestran —; los hosts desconectados están claramente marcados. Las terminales estrechas omiten los diseños laterales.
En el panel:
Para acceso directo, pulsa Ctrl+A, suéltalo, luego h para el estado completo o m para ciclar estado lateral → estado medio → desactivado.
Usa F3, luego n, para abrir otra sesión independiente. Cambia con F5 / F6, el selector de Sesiones o el ratón. F4 vuelve a la lista de hosts sin terminar tus sesiones.
Los IDs de sesión sobreviven a los reinicios locales. Reconectar vuelve a adjuntar el shell remoto cuando aún existe; si ha terminado, ESSH inicia un nuevo shell. El estado remoto de una sesión desconectada permanece sin verificar hasta que te reconectas.
Ctrl+A controla el tmux local. Ctrl+B controla el tmux en el host remoto. Pulsa el prefijo, suéltalo, luego pulsa la siguiente tecla: