Execute Commands
Run a command inside a pod via the API (no SSH key needed):-- separator is required to prevent flag parsing conflicts. Commands run as the instapod user, starting in that user’s home directory (/home/instapod).
Everything after -- is an argv vector, not a shell line: each argument is passed through verbatim, so shell syntax (pipes, redirects, &&, globs) needs an explicit shell.
instapods exec also exits with the command’s own exit status, so 127 (command not found) and 126 (not executable) stay distinguishable from an ordinary failure.
Flags
Flags go before
--:
instapods deploy, which runs it server-side without that ceiling.
Inspect the Runtime
Before writing code that depends on what is inside a pod, ask:sudo, so a missing package is one sudo apt-get install -y <pkg> away.
Add --json for the same report as structured data (versions, byte counts, and the request-size limits), which is the shape to parse from a script or an agent.
Examples
SSH Keys
List SSH Keys
List SSH keys on a specific pod:Add an SSH Key
Push your local SSH public key to a pod:id_ed25519.pub, id_rsa.pub, id_ecdsa.pub.
After adding a key, the CLI shows the SSH command you can use to connect:
Remove an SSH Key
Remove an account-level SSH key by ID:SSH Connection
Once your key is added, connect via SSH:SSH Security
InstaPods uses Trust On First Use (TOFU) for SSH host key verification:- On first connection, the host key is automatically accepted and saved
- On subsequent connections, the key is verified against the saved copy
- If the key changes (which shouldn’t happen for a running pod), you’ll get a warning
When you delete a pod, the CLI automatically cleans up the old host key from your
~/.ssh/known_hosts file to prevent conflicts. Deleted pod SSH ports are reserved for 7 days before reuse.