
Bastillion ti offre un modo pulito, basato su browser, per gestire l'accesso SSH su tutti i tuoi sistemi—come un bastion host con una dashboard amichevole.
Una moderna console SSH basata sul web e strumento di gestione delle chiavi SSH.
Bastillion offre un modo pulito, basato su browser, per gestire l'accesso SSH su tutti i tuoi sistemi — come un bastion host con una dashboard amichevole. Fa due cose:
Terminale SSH basato sul web — una volta registrato un host, gli utenti autorizzati possono aprirvi una o più sessioni terminale live direttamente dal browser, con i comandi che possono essere opzionalmente trasmessi a tutte le sessioni aperte contemporaneamente (pensa ai pannelli sincronizzati di tmux, ma per una flotta di host remoti invece che per pannelli locali).
Gestione delle chiavi SSH — Bastillion mantiene una propria coppia di chiavi SSH e distribuisce/ruota le chiavi pubbliche sugli host che registri, così i singoli utenti non devono mai detenere o gestire chiavi a lunga durata per quei sistemi.

Due sessioni SSH live verso gli host di esempio web e applicativi esistenti.
Bastillion si colloca tra i tuoi utenti e i sistemi che devono raggiungere, agendo come una terza parte fidata anziché come un semplice caveau di password. Ecco l'intero ciclo di vita, dall'inizio alla fine.
Al primo avvio, prima di qualsiasi altra cosa, Bastillion genera una coppia di chiavi Ed25519 per sé stesso — questa è l'unica chiave che viene mai distribuita ai tuoi host. È mostrata nell' output della console e sempre visibile in Impostazioni.
Un amministratore aggiunge un host in Gestisci → Sistemi (utente, host, porta e il percorso del file
authorized_keys di quell'host). Bastillion si autentica una volta con una password o
passphrase che fornisci, poi distribuisce la propria chiave pubblica nel file authorized_keys di quell'host.
Da quel momento si connette usando quella chiave — nessuna password memorizzata, mai. Lo stato passa a
Successo nel momento in cui la chiave è in posizione.

I sistemi vengono raggruppati in Profili con nome — pensa a "Produzione", "Staging", "Livello Database". Gli utenti vengono poi collegati ai profili in Gestisci → Utenti, che è l'unica cosa che controlla chi può raggiungere cosa. Revoca l'assegnazione di un profilo e quell'accesso sparisce immediatamente, senza bisogno di ruotare chiavi.

Gli utenti assegnati aprono Secure Shell → Terminals, selezionano uno o più sistemi e ottengono terminali live, ridimensionabili, basati su xterm nel browser, affiancati. Digita una volta, e il testo va a ogni terminale contrassegnato come attivo — la stessa pressione di tasto, lo stesso comando, la stessa forma di output, su tutti gli host che hai selezionato.

Poiché ogni host si fida della stessa chiave applicativa (non di una chiave per utente), disabilitarla una volta sotto Manage SSH Keys revoca l'accesso ovunque immediatamente — senza bisogno di toccare manualmente i sistemi di destinazione, senza dover cercare quale server ha quale chiave obsoleta.

Ogni connessione verifica la chiave host presentata dal sistema di destinazione rispetto a quella registrata da Bastillion per esso. La prima volta che un host viene visto, la sua chiave viene registrata e considerata attendibile; se quella chiave cambia in seguito, la connessione viene rifiutata e il sistema appare sotto Manage → Host Keys come changed — blocked, mostrando insieme l'impronta approvata e quella offerta, così puoi distinguere un host ricostruito da una connessione intercettata. Considerare attendibile la nuova chiave è un atto deliberato e registrato.
Questo conta più per un bastion che per un laptop. Bastillion consegna al sistema di destinazione la sua chiave privata e, in caso di fallback di autenticazione, la password o passphrase che hai fornito — quindi qualsiasi cosa possa rispondere sull'indirizzo di un sistema gestito raccoglie le credenziali per esso. Finché non è esistito questo controllo, nulla confrontava quella chiave con qualcos'altro.
Imposta hostKeyVerification=strict per richiedere inoltre che un manager approvi ogni host appena visto prima della prima connessione ad esso, oppure off per ripristinare il vecchio comportamento — vedi Configuration.