>_ DevTrendses

Idioma

Inicio

Lenguajes

Secciones

Frontend Backend Móvil DevOps AI / ML GameDev Blockchain Embebidos Seguridad
Rust

Cómo organizar decenas de servidores y olvidarte de editar manualmente la configuración SSH

Cualquiera que regularmente cree VMs en la nube o gestione un servidor doméstico sabe que el archivo ~/.ssh/config se convierte gradualmente en un desastre. Direcciones IP antiguas de instancias de Hetzner eliminadas hace tiempo, alias olvidados y cadenas de ProxyJump se acumulan. Después de otra ejecución de Terraform, tienes que abrir la consola cloud de nuevo, copiar la IP y añadir manualmente el host.

Hace poco descubrí purple — un gestor TUI de SSH de código abierto escrito en Rust. El autor del proyecto se encontró exactamente con la misma rutina y decidió construir una interfaz de terminal conveniente que se encarga de la sincronización de infraestructura.

demo del cliente SSH TUI purple

Cómo funciona internamente

La característica principal de la utilidad es que no intenta inventar su propio formato cerrado ni ocultar la configuración en una base de datos SQLite. El programa analiza directamente tu ~/.ssh/config, preservando cuidadosamente los comentarios, la indentación, las directivas de Include y cualquier parámetro no estándar. Todos los cambios se escriben de vuelta en el mismo archivo.

La interfaz está construida sobre la librería Ratatui. Es una TUI rápida y responsiva como un binario único sin demonios ni servicios en segundo plano. El repositorio ya tiene más de 7300 tests, con código fuente disponible bajo licencia MIT.

lista de hosts de purple con panel de detalles

Sincronización con proveedores cloud

Simplemente proporciona el token API del proveedor, y la lista de instancias se importa a la configuración automáticamente. Actualmente se soportan 17 plataformas, incluyendo AWS, GCP, Azure, Hetzner, DigitalOcean, Proxmox y Teleport. Puedes conectar múltiples cuentas a la vez.

lista de proveedores cloud de purple

Cuando apagas un servidor, la utilidad lo marca como inactivo, así las direcciones muertas no saturan la lista. Cada tarjeta de host muestra un resumen detallado: estado de disponibilidad, ruta de conexión, historial de actividad del último año, etiquetas y servicios en ejecución.

Navegación rápida y búsqueda

Al presionar : se abre una barra de búsqueda rápida en estilo paleta de comandos (como Cmd+K en editores modernos). La búsqueda busca en nombres de host, nombres de usuario, parámetros de ProxyJump y etiquetas. Filtros como user:, proxy: o tag: están disponibles para filtrar el ruido en un par de pulsaciones de tecla.

barra de salto de purple

Gestión de contenedores sin agentes

Una función práctica separada es la pestaña con contenedores Docker y Podman en toda tu infraestructura.

pestaña de contenedores de purple

El programa no requiere instalar agentes de terceros ni abrir puertos web en servidores remotos. Toda la interacción se realiza a través de comandos SSH estándar. Desde la propia interfaz puedes:

  • ver una lista unificada de contenedores de todos los servidores
  • leer logs en tiempo real
  • reiniciar y detener contenedores
  • entrar en un contenedor mediante exec
  • reiniciar servicios de Docker Compose individualmente

Monitoreo de túneles y ejecución de comandos

Normalmente los túneles SSH quedan en segundo plano como procesos invisibles. Aquí, cada reenvío Local, Remoto y Dinámico SOCKS se muestra claramente: puedes ver la velocidad de transferencia de datos, actividad del canal, tiempo de actividad e incluso el proceso local específico que envía el tráfico.

detalle de túnel de purple

Si necesitas ejecutar un comando en un grupo de servidores, la sección de snippets es útil. Antes de lanzar, la utilidad muestra el radio de impacto para evitar golpear instancias extra por accidente, y luego guarda el historial de ejecuciones exitosas y fallidas.

detalle de snippet de purple

Trabajo con claves y Vault

Una pestaña separada recopila todas las claves del directorio ~/.ssh. La utilidad evalúa su fortaleza criptográfica, muestra la imagen randomart y lista los servidores donde funciona la clave. Al presionar p puedes desplegar la clave pública a los servidores sin ciclos manuales con ssh-copy-id.

detalle de clave de purple

Para quienes usan HashiCorp Vault, hay soporte para certificados SSH de corta duración. La interfaz muestra una barra de tiempo restante para el certificado, así un acceso expirado inesperadamente no te pillará por sorpresa.

Vault SSH de purple

Otros extras útiles: un gestor de archivos de doble panel integrado para transferencias SCP, integración con gestores de contraseñas (1Password, Bitwarden, Keychain del sistema), y su propio servidor MCP para conectar con asistentes de IA como Claude Code o Cursor.

Cómo instalar

Instalación rápida mediante script:

curl -fsSL getpurple.sh | sh

O mediante gestores de paquetes:

# macOS (Homebrew)
brew install erickochen/purple/purple

# Cargo
cargo install purple-ssh

# Arch Linux (AUR)
yay -S purple-bin

Después de la instalación, ejecuta el comando purple. Desde cualquier pantalla puedes presionar ? para abrir la ayuda de atajos de teclado.

A quién le será útil

El proyecto cierra la brecha entre comandos CLI simples y clientes pesados de pago como Termius. Si frecuentemente gestionas VMs en la nube, mantienes un homelab, o simplemente estás harto de ordenar manualmente las direcciones IP de los servidores, purple ahorra mucho tiempo y mantiene las configuraciones limpias.

Proyectos relacionados