Files
timmy-config/scripts/ssh_trust.py
Alexander Whitestone 577a674743 feat(scripts): add SSH trust enforcement utility
Implements scripts/ssh_trust.py to validate SSH connections before
executing remote commands. Addresses issue #434.

Features:
- SSH key existence and permission (600) validation
- Host key fingerprint verification against known_hosts
- Connection test with configurable timeout
- Safe subprocess SSH wrapper (StrictHostKeyChecking=yes only)
- Timestamped command execution logging (JSONL)
- --dry-run mode to preview commands
- --audit mode to scan for StrictHostKeyChecking=no across repo
- --check-host mode for host-only verification
- --json output for programmatic use
- Exit codes: 0=success, 1=conn fail, 2=host key mismatch, 3=timeout

Audit findings (12 files with StrictHostKeyChecking=no):
- scripts/self_healing.py:29
- scripts/fleet_llama.py:33
- scripts/provision_wizard.py:109
- scripts/telemetry.py:44
- scripts/agent_dispatch.py:32
- fleet/auto_restart.py:161,213
- fleet/health_check.py:101,129
- bin/fleet-status.sh:57
- hermes-sovereign/orchestrator/orchestrator.py:289,423

Closes #434
2026-04-09 19:24:27 -04:00

13 KiB