
Bastillion oferece uma maneira limpa e baseada em navegador para gerenciar o acesso SSH em todos os seus sistemas — como um host bastion com um painel amigável.
Uma ferramenta moderna, baseada na web, de console SSH e gerenciamento de chaves SSH.
O Bastillion oferece uma forma limpa, baseada no navegador, de gerenciar o acesso SSH em todos os seus sistemas — como um bastion host com um painel amigável. Ele faz duas coisas:
Terminal SSH baseado na web — uma vez que um host é registrado, usuários autorizados podem abrir uma ou mais sessões de terminal ao vivo nele diretamente do navegador, com comandos opcionalmente transmitidos para todas as sessões abertas ao mesmo tempo (pense nos painéis sincronizados do tmux, mas para uma frota de hosts remotos em vez de painéis locais).
Gerenciamento de chaves SSH — o Bastillion mantém seu próprio par de chaves SSH e envia/rotaciona chaves públicas pelos hosts que você registra, para que usuários individuais nunca precisem manter ou gerenciar chaves de longa duração nesses sistemas por conta própria.

Duas sessões SSH ao vivo nos hosts de exemplo web e de aplicação existentes.
O Bastillion fica entre seus usuários e os sistemas que eles precisam acessar, atuando como um terceiro confiável em vez de um simples cofre de senhas. Aqui está todo o ciclo de vida, de ponta a ponta.
Na primeira inicialização, antes de qualquer outra coisa, o Bastillion gera um par de chaves Ed25519 para si mesmo — esta é a única chave que será enviada aos seus hosts. Ela é exibida na saída do console e sempre visível em Settings.
Um administrador adiciona um host em Manage → Systems (usuário, host, porta e o caminho para o
arquivo authorized_keys desse host). O Bastillion autentica uma vez com uma senha ou
passphrase que você fornece, e então envia sua própria chave pública para o authorized_keys desse host.
A partir daí, ele se conecta usando essa chave — sem senhas armazenadas, nunca. O status muda para
Success no momento em que a chave está no lugar.

Os sistemas são agrupados em Perfis nomeados — pense em "Produção", "Staging", "Camada de Banco de Dados". Os usuários são então vinculados a perfis em Manage → Users, que é a única coisa que controla quem pode acessar o quê. Revogue uma atribuição de perfil e esse acesso desaparece imediatamente, sem necessidade de rotação de chaves.

Usuários atribuídos abrem Secure Shell → Terminals, escolhem um ou mais sistemas e obtêm terminais ao vivo, redimensionáveis, baseados em xterm no navegador, lado a lado. Digite uma vez, e vai para todos os terminais marcados como ativos — a mesma tecla, o mesmo comando, o mesmo formato de saída, em quantos hosts você selecionou.

Como todo host confia na mesma chave da aplicação (não uma chave por usuário), desativá-la uma vez em Manage SSH Keys revoga o acesso em todos os lugares imediatamente — sem necessidade de tocar nos sistemas de destino manualmente, sem caçar qual servidor tem qual chave obsoleta.

Toda conexão verifica a chave de host que o sistema de destino apresenta contra a que o Bastillion registrou para ele. Na primeira vez que um host é visto, sua chave é registrada e confiada; se essa chave mudar depois, a conexão é recusada e o sistema aparece em Manage → Host Keys como changed — blocked, mostrando o fingerprint aprovado e o oferecido juntos para que você possa distinguir um host reconstruído de uma conexão interceptada. Confiar na nova chave é um ato deliberado e registrado.
Isso importa mais para um bastion do que para um laptop. O Bastillion entrega ao sistema de destino sua chave privada e, no fallback de autenticação, a senha ou passphrase que você forneceu — então qualquer coisa que possa responder no endereço de um sistema gerenciado coleta credenciais para ele. Até que essa verificação existisse, nada comparava essa chave com nada.
Defina hostKeyVerification=strict para também exigir que um gerente aprove cada host recém-visto
antes da primeira conexão a ele, ou off para restaurar o comportamento antigo — veja
Configuração.
Tudo o que é digitado e cada byte retornado nesses terminais é gravado automaticamente. Gerentes abrem Audit Sessions, filtram por usuário ou sistema e reproduzem qualquer sessão — lado a lado para sessões que abrangeram múltiplos hosts, com um filtro de texto para pular direto para as linhas que importam. A saída flui para a página conforme carrega, então até uma sessão que despejou centenas de megabytes de logs é reproduzida sem esforço.