The problem is that getting said agents onto a remote server, especially one you don't control, means dealing with VPNs, bastion hosts, firewall rules, access controls, or audit trails. That's assuming SSH isn't even blocked.
cush takes a different approach. Instead of a shell, it opens a temporary, outbound HTTPS tunnel that lets you and your AI agent run constrained CLI commands on the server:
$ cush open --allow grep,cat,tail --expiry 2h
tunnel: https://abc123.ngrok.io
token: a3f9c2d1...
allowed: grep, cat, tail
expires: in 2h
Now any agent or HTTP client can execute allowed commands: $ curl -X POST https://abc123.ngrok.io \
-H "Authorization: Bearer a3f9c2d1..." \
-H "Content-Type: application/json" \
-d '{"command": ["grep", "-r", "ERROR", "/var/log/app.log"]}'
>>> {"stdout":"ERROR database connection refused\n","stderr":"","exit_code":0}
Point any agent at the tunnel's URL: $ claude "use https://abc123.ngrok.io with token a3f9c2d1... to find what's causing the 500 errors"
Tunnels are authenticated, constrained, and short-lived. No server-side infrastructure changes required. Just a 7MB Rust binary + ngrok.Looking for feedback, and 2-3 design partners to build audit trails.