/ PRODUCTO · CÓDIGO ABIERTO · RUST
Un gestor de conexiones SSH para la terminal. Se usa igual que
ssh: recuerda tus
servidores y mantiene sus sesiones abiertas una al lado de otra.
Linux · MIT / Apache-2.0 · No guarda contraseñas
deploy@web:~$ uptime
12:01 up 3 days, load 0.08
deploy@web:~$ systemctl is-active nginx
active
deploy@web:~$ █
postgres@db1:~$ psql
psql (16.2)
postgres=# select count(*) from orders;
count
-------
18422
postgres=#
ssh del sistema en su propia terminal.
/ POR QUÉ
¿Qué IP tenía staging? ¿Qué puerto usa el servidor de copias, y
pasa por el bastión? Las respuestas acaban repartidas entre el
historial de la shell, un ~/.ssh/config
sin notas y una docena de pestañas abiertas.
sshh guarda tus conexiones en una lista en la que puedes buscar,
con nombre, etiquetas y notas para cada una, y abre sus sesiones una
junto a otra en una sola ventana. No reimplementa SSH: siempre
ejecuta el ssh del sistema,
así que tu configuración, tu agente, ProxyJump,
ControlMaster,
known_hosts y las llaves
FIDO siguen funcionando como hoy.
/ IGUAL QUE SSH
sshh acepta exactamente los
mismos argumentos que ssh.
La primera vez que te conectas a un sitio nuevo, un pequeño
formulario te ofrece guardarlo, ya relleno con lo que usaría el
propio ssh. A partir de ahí, basta con el alias.
$ sshh -p 2222 deploy@web.example.com
Enter guardar y conectar · Esc solo conectar
# la próxima vez
$ sshh web
$ sshh web uptime
$ sshh -L 8080:localhost:80 web
01
Tus opciones mandan
Con un alias guardado, sshh solo rellena host, usuario, puerto, llave o salto si no los has indicado tú. Lo que no entiende pasa a ssh sin tocarlo.
02
Nunca estorba
Si algo suyo falla, sshh avisa y ejecuta ssh con tus argumentos originales. El formulario solo aparece en terminales interactivas, así que los scripts no se enteran.
03
Seguro como alias
Añade alias ssh=sshh a tu
shell y sigue escribiendo lo de siempre. Con
sshh ssh-config sync, scp,
rsync y git también conocen tus alias.
/ SESIONES
Ejecuta sshh sin argumentos
y tendrás una interfaz al estilo de lazygit: la lista de conexiones
con sus detalles y tantas columnas de terminal como quepan en
pantalla, cada una una sesión viva entre las que saltas sin
cerrarlas.
BUSCAR
Búsqueda difusa
Por alias, nombre, usuario, host, descripción y etiquetas. Filtra
con #prod o combina
#prod #db.
DIVIDIR
Columnas y paneles
Hasta nueve columnas, y paneles apilados dentro como en tmux. Reordénalos o pon uno a pantalla completa.
SSH DE VERDAD
Una terminal real
Cada sesión es ssh en su propia pseudoterminal: contraseñas, avisos de host key, vim, htop, el ratón y 5000 líneas de historial.
FICHEROS
sftp al lado
Pulsa s para abrir sftp del mismo servidor en la columna de al lado, mientras su sesión ssh sigue abierta.
/ TECLADO
Siguen las convenciones de vim, less, lazygit y fzf. Cuando una sesión tiene el foco, todas las teclas van a ella — solo los atajos con Alt se quedan en sshh. Y todo funciona también con el ratón.
/ DETALLES
Sin secretos
sshh nunca guarda contraseñas. Sigue usando tus llaves y tu agente como siempre.
Importa tu config
sshh import-ssh-config
convierte tus bloques Host
en conexiones, siguiendo los Include.
Pruébalo con --dry-run.
Para scripts
ls,
add,
rm,
history y exportar /
importar en JSON para compartir conexiones con tu equipo.
Tu tema
Solo usa la paleta de 16 colores de tu terminal, así que encaja con el resto de tu entorno.
/ INSTALAR
$ curl -fsSL https://raw.githubusercontent.com/ewiggin/sshh/main/install.sh | sh
En Linux x86_64 y aarch64 descarga el binario estático, comprueba
su SHA-256 y lo instala con su página man en
~/.local/bin. En otros
sistemas lo compila desde el código. Vuelve a ejecutarlo para
actualizar. sshh lo hace MEPS — si necesitas algo parecido para tu
equipo,
escríbenos.