Show GN: alogin – TUI, 멀티홉 게이트웨이, 암호화 저장소를 갖춘 SSH 접속 관리 도구 (Go)

GeekNews (AI) | | 📰 뉴스
#go #ssh #tui #기타 ai #오픈소스 #접속관리
원문 출처: GeekNews (AI) · Genesis Park에서 요약 및 분석

요약

2000년대 초부터 개인용 SSH 자동화 도구를 Bash + Expect 스크립트로 만들어 써왔습니다. 20년간 패치하다가 결국 Go로 완전히 재작성해서 오픈소스로 공개했습니다. https://github.com/emusal/alogin2 핵심 문제 의식: 수십 대 서버를 사용자, 포트, 게이트웨이 경로, 자격증명이 제각각

본문

2000년대 초부터 개인용 SSH 자동화 도구를 Bash + Expect 스크립트로 만들어 써왔습니다. 20년간 패치하다가 결국 Go로 완전히 재작성해서 오픈소스로 공개했습니다. https://github.com/emusal/alogin2 핵심 문제 의식: 수십 대 서버를 사용자, 포트, 게이트웨이 경로, 자격증명이 제각각인 상태로 관리할 때 — 호스트명을 매번 전부 타이핑하거나 비밀번호를 평문으로 저장하지 않고 편하게 쓰고 싶었습니다. 주요 기능: TUI (Bubbletea) 퍼지 검색 — 호스트명 전부 안 쳐도 됩니다 Go 네이티브 SSH로 멀티홉 게이트웨이 구현 (ProxyCommand 없음, expect 없음). 중간 홉에서 AllowTcpForwarding이 꺼져 있으면 셸 체이닝으로 자동 폴백 암호화 자격증명 저장 — 비밀번호는 macOS Keychain / Linux Secret Service / age 암호화 파일에 보관. SQLite DB에는 절대 기록되지 않음 클러스터 세션 — tmux, iTerm2, Terminal.app으로 N대 서버에 동시 접속 Web UI — WebSocket 기반 xterm.js 터미널 + 서버 관리 대시보드 (alogin web) 셸 심(shim) — 기존 스크립트의 t, r, s, f, m 명령어를 한 줄 source로 그대로 사용 가능 사용 스택: Go 1.23, Bubbletea, golang.org/x/crypto/ssh, chi, xterm.js (React) 구현 중 가장 흥미로웠던 부분은 멀티홉 SSH였습니다. golang.org/x/crypto/ssh는 기존 세션 위에서 다음 홉을 dial할 수 있어서 별도 프로세스 없이 N홉 체이닝이 가능합니다. 까다로웠던 건 중간 배스천이 TCP 포워딩을 막고 있을 때 — dial 도중 실패를 감지하고 셸 체이닝 방식으로 전환하는 폴백 로직이었습니다. 구현 관련 질문이나 피드백 환영합니다.

Genesis Park 편집팀이 AI를 활용하여 작성한 분석입니다. 원문은 출처 링크를 통해 확인할 수 있습니다.

공유

관련 저널 읽기

전체 보기 →