
Bastillion은 모든 시스템에 대한 SSH 접근을 브라우저 기반으로 깔끔하게 관리할 수 있는 방법을 제공합니다—마치 친숙한 대시보드를 갖춘 배스천 호스트와 같습니다.
현대적인 웹 기반 SSH 콘솔 및 SSH 키 관리 도구입니다.
Bastillion은 모든 시스템 전반의 SSH 접근을 관리할 수 있는 깔끔한 브라우저 기반 방법을 제공합니다 — 마치 친근한 대시보드를 갖춘 배스천 호스트처럼 말이죠. 이 도구는 두 가지 일을 합니다:
웹 기반 SSH 터미널 — 호스트가 등록되면, 권한이 부여된 사용자는 브라우저에서 직접 하나 이상의 실시간 터미널 세션을 열 수 있으며, 명령을 모든 열린 세션에 한 번에 브로드캐스트할 수도 있습니다 (tmux의 동기화된 창을 떠올려 보세요. 다만 로컬 창이 아닌 원격 호스트 집합에 대한 것입니다).
SSH 키 관리 — Bastillion은 자체 SSH 키 쌍을 보유하고, 등록한 호스트 전반에 공개 키를 푸시/교체하므로, 개별 사용자가 해당 시스템에 대한 장기 키를 직접 보유하거나 관리할 필요가 없습니다.

기존 웹 및 애플리케이션 예제 호스트에 대한 두 개의 실시간 SSH 세션.
Bastillion은 사용자와 사용자가 접근해야 하는 시스템 사이에 위치하며, 단순한 비밀번호 금고가 아닌 신뢰할 수 있는 제3자 역할을 합니다. 전체 수명 주기를 처음부터 끝까지 살펴보겠습니다.
최초 시작 시, 무엇보다 먼저 Bastillion은 자신을 위한 Ed25519 키 쌍을 생성합니다 — 이것이 호스트에 푸시되는 유일한 키입니다. 이 키는 콘솔 출력에 표시되며 Settings에서 항상 확인할 수 있습니다.
관리자가 Manage → Systems에서 호스트를 추가합니다(사용자, 호스트, 포트, 그리고 해당 호스트의
authorized_keys 파일 경로). Bastillion은 사용자가 제공한 비밀번호 또는 암호 문구로 한 번 인증한 다음,
자신의 공개 키를 해당 호스트의 authorized_keys에 푸시합니다. 이후부터는 해당 키를 사용하여 연결합니다 —
저장된 비밀번호는 절대 없습니다. 키가 배치되는 즉시 상태가 Success로 바뀝니다.

시스템은 이름이 지정된 프로필로 그룹화됩니다 — "Production", "Staging", "Database Tier" 등을 생각해 보세요. 그런 다음 사용자는 Manage → Users에서 프로필에 연결되며, 이것이 누가 무엇에 접근할 수 있는지를 제어하는 유일한 수단입니다. 프로필 할당을 취소하면 해당 접근 권한은 즉시 사라지며, 키 교체는 필요하지 않습니다.

할당된 사용자는 Secure Shell → Terminals를 열고 하나 이상의 시스템을 선택하면, 브라우저에서 나란히 배치된 실시간·크기 조절 가능한 xterm 기반 터미널을 사용할 수 있습니다. 한 번 입력하면 활성으로 표시된 모든 터미널로 전달됩니다 — 선택한 호스트 수에 관계없이 동일한 키 입력, 동일한 명령, 동일한 출력 형태가 적용됩니다.

모든 호스트가 (사용자별 키가 아닌) 동일한 애플리케이션 키를 신뢰하기 때문에, Manage SSH Keys에서 한 번 비활성화하면 모든 곳에서 즉시 접근이 폐기됩니다 — 대상 시스템을 직접 건드릴 필요도, 어느 서버에 어떤 오래된 키가 있는지 찾아다닐 필요도 없습니다.

모든 연결은 대상 시스템이 제시하는 호스트 키를 Bastillion이 기록한 키와 대조하여 검사합니다. 호스트가 처음 확인되면 그 키가 기록되고 신뢰됩니다. 이후 해당 키가 변경되면 연결이 거부되고, 해당 시스템은 Manage → Host Keys에 changed — blocked로 표시되며, 승인된 지문과 제시된 지문을 함께 보여주므로 재구축된 호스트와 가로채진 연결을 구분할 수 있습니다. 새 키를 신뢰하는 것은 의도적이고 기록되는 행위입니다.
이는 노트북보다 배스천에서 더 중요합니다. Bastillion은 대상 시스템에 개인 키를 전달하며, 인증 폴백 시에는 사용자가 제공한 비밀번호나 패스프레이즈도 전달합니다 — 따라서 관리 대상 시스템의 주소에서 응답할 수 있는 무엇이든 해당 시스템의 자격 증명을 수집할 수 있습니다. 이 검사가 존재하기 전까지는 그 키를 어떤 것과도 비교하지 않았습니다.
hostKeyVerification=strict로 설정하면 새로 확인된 호스트에 대한 첫 연결 전에 관리자의 승인을 추가로 요구하며, off로 설정하면 이전 동작으로 되돌립니다 — Configuration을 참조하세요.
해당 터미널에서 입력된 모든 내용과 반환된 모든 바이트가 자동으로 기록됩니다. 관리자는 Audit Sessions를 열고 사용자 또는 시스템으로 필터링한 뒤, 어떤 세션이든 재생할 수 있습니다 — 여러 호스트에 걸친 세션은 나란히 표시되며, 중요한 줄로 바로 이동할 수 있는 텍스트 필터도 제공됩니다. 출력은 페이지가 로드되는 동안 스트리밍되므로, 수백 메가바이트의 로그를 덤프한 세션도 무리 없이 재생됩니다.
감사자에게 누가 무엇을 어디서 언제 실행했는지 보여줘야 한다면 — 이것이 바로 그 증거이며, 기본 제공됩니다. 사실상 모든 컴플라이언스 프레임워크에는 어딘가에 특권 접근 감사 추적 요구 사항이 있습니다 (PCI DSS, HIPAA, SOC 2, ISO 27001 — 해당되는 것을 선택하세요). 이것은 상용 PAM 제품 없이도 그 요구 사항을 충족합니다. 세션은 기본적으로 90일 동안 보관되며(deleteAuditLogAfter), ENABLE_INTERNAL_AUDIT=false로 기록을 끌 수 있습니다 — Auditing을 참조하세요.

hostKeyVerification=accept-new) — 작동 방식 참조authorized_keys에 공개 키가 있는 것에 의존하는 대신 연결마다 단기 인증서에 서명할 수 있으며, 이는 대상 호스트 자체의 인증 로그에 Bastillion 사용자 이름을 남깁니다. 기본적으로 비활성화됨. 각 호스트가 CA를 신뢰하도록 구성해야 함 — 구성 참조java -jar)로 실행되며 HTTPS를 기본 제공 — 다운로드 및 실행 참조tools/migrate 참조Bastillion은 최대 8개의 등록된 시스템까지 라이선스 없이 실행됩니다 — 구매 전에 실제로 사용해 보기에 충분합니다. 라이선스를 구매하면 이 상한이 높아집니다.
.lic 파일이 자동으로 다운로드됩니다..lic 파일을 열고 내용(한 줄)을 복사하세요.LICENSE_KEY 환경 변수를 통해 설정하세요:
export LICENSE_KEY=<paste license file contents here>
또는 BastillionConfig.properties의 licenseKey에 붙여넣으십시오 — 둘 다 설정된 경우
환경 변수가 우선합니다.라이선스는 연간 단위이며 자동 갱신되지 않습니다 — 카드 정보는 보관되지 않습니다. 만료 경고를 받으면 동일한 가격 페이지에서 다시 구매하십시오.
무료: https://github.com/Loophole-LLC/Bastillion/releases