Every template that includes base has an OpenSSH server that starts on the first connection. You log in with a certificate that the Anona gateway signs for one sandbox and 10 minutes; there are no passwords and no long-lived keys to manage. The connection is carried over Anona’s stream relay, so the sandbox needs no public port.

With the CLI

anona-compute ssh makes a throwaway key, has it signed, and runs your system ssh through the relay:
ssh.sh
Everything after -- goes to ssh: a remote command, or flags such as -L 8080:localhost:8080 to forward a port. Interactive sessions work too: anona-compute ssh $SANDBOX_ID. Copy files with scp semantics; sandbox paths start with a colon:
scp_tree.sh

ssh_config for other tools

--print-config prints an ssh_config block with a fresh certificate, so ssh, rsync and editors can use Host <sandbox id> directly:
ssh_config.sh
To use it from every tool, append it to ~/.ssh/config instead: anona-compute ssh <id> --print-config >> ~/.ssh/config. The certificate in the block expires after 10 minutes. Run anona-compute ssh <id> --print-config again (or any anona-compute ssh) to renew it; connections already open stay open.

VS Code Remote-SSH

  1. Install the Remote-SSH extension.
  2. Run anona-compute ssh <sandbox id> --print-config >> ~/.ssh/config.
  3. In VS Code, run Remote-SSH: Connect to Host… and pick the sandbox ID.
VS Code installs its server in /home/user/.vscode-server inside the sandbox, so the sandbox needs internet egress to download it. If you reconnect later than 10 minutes after step 2, repeat step 2 first. Editors that read ~/.ssh/config (Cursor, JetBrains Gateway, Zed) take the same block.
The plain ssh connection above is part of the docs’ automated checks; the editor flow itself has not been run in them yet.

With the SDK

Sign your own key and write a config block, for tools that manage their own SSH:
The block uses ProxyCommand anona-compute ssh --proxy %h, so the CLI must be on your PATH and signed in.

Details

Without SSH, anona-compute connect <id> opens a shell over the sandbox’s own terminal API; see Processes.