Babayetu — SSH Automation CLI
PythonParamikocryptographykeyringWindows IntegrationProblem Repeated remote access requires address, account, password, and terminal setup, which is slow and risky.
Solution Connect with babayetu <alias>, using RSA auto-login and native backup/restore for safer recovery.
Demo in 10 seconds
$ babayetu register ? Host/IP: 10.0.3.17 ? Username: ubuntu ? Enable RSA auto-login? Yes ✓ public key/ciphertext stored in config; private key stored in OS Keyring ✓ recovery passphrase configured $ babayetu api [Windows Terminal tab] connecting ubuntu@10.0.3.17... ✓ key authentication succeeded ctrl+c → forwarded to remote; use 'exit' to close
* In real use, Windows Terminal tabs, automatic color/font settings, and indirect-tunneling blocks run together.
Role & Contributions
- Product design: alias-first workflow where a first token is treated as a connection target.
- Security design: RSA auto-login, OS Keyring private-key storage, and Windows DPAPI config encryption.
- Backup format:
rsa.v1hybrid design with recovery passphrase PBE. - Operations features: auto backup scheduler, conflict-safe restore, proxy/tunnel blocking, and remote Ctrl+C forwarding.
- Windows integration: PATH/Shim, Windows Terminal tab, tray/autostart, and restart guidance.
- Code: CLI parser, dispatch, handlers, encryption/key management, and install helpers.
Core Features
One-command access
babayetu <alias> → login and remote Ctrl+C forwardingRSA auto-login
Public key/ciphertext in config, private key in OS Keyring
Public key/ciphertext in config, private key in OS Keyring
Native backup/restore
Auto backup daemon and conflict-safe restore cancellation
Auto backup daemon and conflict-safe restore cancellation
Windows integration
PATH/Shim, Windows Terminal tab, tray, and autostart
PATH/Shim, Windows Terminal tab, tray, and autostart
Architecture Summary
CLI(main.py) └─ Command Bus(command_bus.py) ─→ Handlers(handlers.py) ─→ Core(core.py) Security ├─ RSA auto-login(pub+cipher in config, private key in OS Keyring) ├─ Windows DPAPI config encryption └─ Recovery passphrase PBE + Backup Format(rsa.v1) Platform └─ Windows Terminal, PATH/Shim, Tray/Autostart, proxy/indirect tunnel blocking
Usage
# 1) Register a server babayetu register # 2) Connect babayetu prod-app # 3) Backup/restore babayetu backup babayetu restore # 4) Windows integration babayetu install babayetu path-prioritize babayetu tray
* This page packages the project section as standalone static HTML.