
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.
Um console SSH moderno baseado na web e uma ferramenta de gerenciamento de chaves SSH.
O Bastillion oferece uma forma limpa, baseada em navegador, de gerenciar o acesso SSH em todos os seus sistemas — como um bastion host com um dashboard 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 para ele 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 para esses sistemas por conta própria.

Duas sessões SSH ao vivo para os 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 é 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 Profiles nomeados — pense em "Production", "Staging", "Database Tier". Os usuários são então vinculados a profiles em Manage → Users, que é a única coisa que controla quem pode acessar o quê. Revogue a atribuição de um profile e esse acesso desaparece imediatamente, sem necessidade de rotação de chaves.

Os 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 isso 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 todos os hosts confiam 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 precisar caçar qual servidor tem qual chave obsoleta.

Toda conexão verifica a chave do 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 posteriormente, a conexão é recusada e o sistema aparece em Manage → Host Keys como changed — blocked, mostrando a impressão digital aprovada e a oferecida juntas 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 — consulte Configuration.