Babayetu — SSH 자동화 CLI
Python Paramiko cryptography keyring Windows Integration문제 반복적인 원격접속(주소/계정/암호/터미널 세팅)이 귀찮고 위험(비번 저장·유출)합니다.
해결 babayetu <alias> 한 줄로 접속, RSA 자동 로그인과 네이티브 백업/복구로 안전성과 복구력을 동시에 확보했습니다.
🎯 10초 안에 이해되는 데모
$ babayetu register
? Host/IP: 10.0.3.17
? Username: ubuntu
? RSA 자동로그인 설정할까요? Yes
✓ 공개키/암호문은 설정에, 개인키는 OS Keyring에 안전 저장
✓ 백업 복구용 패스프레이즈 설정 완료
$ babayetu api
[WT 새 탭] ubuntu@10.0.3.17 접속 중...
✓ 키 인증 성공 (비밀번호 입력 없이 로그인)
ctrl+c → 원격에 전달, 종료는 'exit'
* 실제 환경에서는 Windows Terminal 새 탭/자동 색상/폰트 적용, 간접 터널링 차단 등 정책이 함께 동작합니다.
내 역할 & 구체 기여
- 제품 설계: “첫 토큰이 명령이 아니면 접속” UX, 별칭 중심 워크플로 설계
- 보안 설계: RSA 자동로그인(공개키/암호문은 설정, 개인키는 Keyring), Windows DPAPI 설정 암호화
- 백업 포맷:
rsa.v1하이브리드 설계(OAEP+HKDF 스트림 XOR), 복구 패스프레이즈 PBE(scrypt+HMAC) - 운영 기능: 자동 백업 스케줄러, 충돌 안전 복구, 프록시/간접 터널 차단, Ctrl+C 원격 전달
- Windows 통합: PATH/Shim, Windows Terminal 새 탭, Tray/Autostart, 재시작 유도
- 코드: CLI 파서·디스패치, 핸들러, 암복호화/키관리/설치 헬퍼 등 전반 구현
핵심 기능(간단히 보기)
원클릭 접속
babayetu <alias> → 바로 로그인, Ctrl+C 원격 전달
RSA 자동 로그인
공개키/암호문은 설정, 개인키는 OS Keyring 안전 보관
공개키/암호문은 설정, 개인키는 OS Keyring 안전 보관
네이티브 백업/복구
자동 백업 데몬, 충돌 시 복구 취소로 안전성 확보
자동 백업 데몬, 충돌 시 복구 취소로 안전성 확보
Windows 통합
PATH/Shim, Windows Terminal 새 탭, Tray, Autostart
PATH/Shim, Windows Terminal 새 탭, Tray, Autostart
아키텍처(요약)
CLI(main.py)
└─ Command Bus(command_bus.py) ─→ Handlers(handlers.py) ─→ Core(core.py)
UX/파서 기능실행 SSH/보안/백업/설치
Security
├─ RSA 자동로그인(pub+cipher in config, priv in OS Keyring)
├─ Windows DPAPI로 설정 암호화
└─ 복구 Passphrase PBE(scrypt+HMAC) + Backup Format(rsa.v1, OAEP+HKDF XOR)
Platform
└─ Windows Terminal 연동, PATH/Shim, Tray/Autostart, 프록시/간접터널 차단
사용 예
# 1) 서버 등록(대화식)
babayetu register
# 2) 접속 (첫 토큰이 별칭이면 connect로 간주)
babayetu prod-app
# 3) 안전한 백업/복구
babayetu backup
babayetu restore # 충돌 발견 시 보수적으로 취소
# 4) Windows 통합(선택)
babayetu install
babayetu path-prioritize
babayetu tray
* 이 페이지는 업로드된 섹션을 전체 HTML로 보강해 public/ 에 바로 배치 가능하게 정리했습니다.