Babayetu — SSH Automation CLI

PythonParamikocryptographykeyringWindows Integration

Problem 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

Core Features

One-command access
babayetu <alias> → login and remote Ctrl+C forwarding
RSA auto-login
Public key/ciphertext in config, private key in OS Keyring
Native backup/restore
Auto backup daemon and conflict-safe restore cancellation
Windows integration
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
Home

* This page packages the project section as standalone static HTML.