>_ DevTrendsit

Lingua

Home

Linguaggi

Sezioni

Frontend Backend Mobile DevOps AI / ML GameDev Blockchain Embedded Sicurezza
Rust

Come organizzare decine di server e dimenticarsi di modificare manualmente la configurazione SSH

Chiunque crei regolarmente VM nel cloud o gestisca un server di casa sa che il file ~/.ssh/config diventa gradualmente un disastro. Vecchi indirizzi IP di istanze Hetzner eliminate da tempo, alias dimenticati e catene di ProxyJump si accumulano. Dopo un altro run di Terraform, devi aprire di nuovo la console cloud, recuperare l'IP e aggiungere manualmente l'host.

Recentemente ho scoperto purple — un gestore SSH TUI open-source scritto in Rust. L'autore del progetto si è imbattuto esattamente nella stessa routine e ha deciso di creare un'interfaccia terminale comoda che si occupa della sincronizzazione dell'infrastruttura.

demo del client SSH terminale purple

Cosa c'è sotto il cofano e come funziona

La caratteristica principale dell'utilità è che non cerca di inventare un proprio formato chiuso o nascondere le impostazioni in un database SQLite. Il programma analizza direttamente il tuo ~/.ssh/config, preservando attentamente commenti, indentazione, direttive Include e qualsiasi parametro non standard. Tutte le modifiche vengono scritte di nuovo nello stesso file.

L'interfaccia è costruita sulla libreria Ratatui. È una TUI veloce e reattiva come singolo binario senza demoni o servizi in background. Il repository ha già oltre 7300 test, con codice sorgente disponibile sotto licenza MIT.

elenco host purple con pannello dettagli

Sincronizzazione con i provider cloud

Basta fornire il token API del provider e l'elenco delle istanze viene inserito automaticamente nella configurazione. Attualmente sono supportate 17 piattaforme, tra cui AWS, GCP, Azure, Hetzner, DigitalOcean, Proxmox e Teleport. Puoi connettere più account contemporaneamente.

elenco provider cloud purple

Quando spegni un server, l'utilità lo contrassegna come obsoleto, così gli indirizzi morti non ingombrano l'elenco. Ogni scheda host mostra un riepilogo dettagliato: stato di disponibilità, percorso di connessione, cronologia delle attività dell'ultimo anno, tag e servizi in esecuzione.

Navigazione rapida e ricerca

Premendo : si apre una barra di ricerca rapida in stile command palette (come Cmd+K negli editor moderni). La ricerca esamina hostname, nomi utente, parametri ProxyJump e tag. Filtri come user:, proxy: o tag: sono disponibili per filtrare il rumore in un paio di tasti.

barra Jump di purple

Gestione dei container senza agenti

Una funzione separata e comoda è la scheda con i container Docker e Podman su tutta la tua infrastruttura.

scheda Container di purple

Il programma non richiede l'installazione di agenti di terze parti o l'apertura di porte web sui server remoti. Tutta l'interazione avviene tramite comandi SSH standard. Direttamente dall'interfaccia puoi:

  • visualizzare un elenco unificato dei container da tutti i server
  • leggere i log in tempo reale
  • riavviare e fermare i container
  • entrare in un container tramite exec
  • riavviare singolarmente i servizi da Docker Compose

Monitoraggio dei tunnel ed esecuzione di comandi

Di solito i tunnel SSH rimangono in background come processi invisibili. Qui, ogni inoltro Local, Remote e Dynamic SOCKS viene visualizzato chiaramente: puoi vedere la velocità di trasferimento dei dati, l'attività del canale, l'uptime e anche il processo locale specifico che spinge il traffico.

dettaglio tunnel purple

Se hai bisogno di distribuire un comando su un gruppo di server, la sezione snippet è utile. Prima del lancio, l'utilità mostra il raggio d'azione per evitare di colpire accidentalmente istanze extra, e poi salva la cronologia delle esecuzioni riuscite e fallite.

dettaglio snippet purple

Lavorare con le chiavi e Vault

Una scheda separata raccoglie tutte le chiavi dalla directory ~/.ssh. L'utilità valuta la loro forza crittografica, mostra l'immagine randomart e elenca i server dove la chiave funziona. Premendo p puoi distribuire la chiave pubblica sui server senza cicli manuali con ssh-copy-id.

dettaglio chiave purple

Per chi usa HashiCorp Vault, c'è il supporto per i certificati SSH a vita breve. L'interfaccia mostra una barra del tempo rimanente per il certificato, così un accesso scaduto inaspettatamente non ti coglierà di sorpresa.

Vault SSH di purple

Altri extra utili: un gestore file a doppio pannello integrato per trasferimenti di file SCP, integrazione con gestori di password (1Password, Bitwarden, Keychain di sistema) e un proprio server MCP per connettersi ad assistenti AI come Claude Code o Cursor.

Come installare

Installazione rapida tramite script:

curl -fsSL getpurple.sh | sh

Oppure tramite gestori di pacchetti:

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

# Cargo
cargo install purple-ssh

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

Dopo l'installazione, esegui il comando purple. Da qualsiasi schermata puoi premere ? per aprire la guida delle scorciatoie da tastiera.

A chi sarà utile

Il progetto colma elegantemente il divario tra semplici comandi CLI e client pesanti a pagamento come Termius. Se gestisci frequentemente VM cloud, mantieni un homelab o sei semplicemente stanco di ordinare manualmente gli indirizzi IP dei server, purple fa risparmiare molto tempo e mantiene le configurazioni pulite.

Progetti correlati