Skip to main content
Sandboxes accept standard SSH connections. The Boat CLI handles the usual setup for you, including the SSH key it uses to connect.

Connect with the CLI

Use boat ssh from your local machine for an interactive shell. For non-interactive commands, use the same sandbox work access through the SDK, API, curl, or CLI:
The CLI manages its SSH key at:
If the key is missing, the CLI creates or refreshes it and authorizes it on the sandbox before connecting.
SSH is available only when the sandbox’s machine is running. If the sandbox is archived or still provisioning, resume it or wait until it is ready. In the first seconds of a resume, SSH may answer with a retryable sandbox_restoring error; retry a moment later.

Use another SSH client

If you want to connect from an external SSH client, first authorize a public key and inspect the sandbox for its IP address:

Verify the host key

Every resume and every fork runs the sandbox on a new machine. Each new machine has a new SSH host key. With strict host key checking, the key you saved before a stop is refused after the resume. boat ssh and boat scp handle this for you. They fetch the current host key through your authenticated Boat session, pin it, and connect with strict checking. For another SSH client, get the key the same way. The SSH key call returns hostKey, the public host key of the machine that runs the sandbox now. Save it under a fixed alias, and fetch it again after each resume:
The key comes over your API connection, not over SSH, so you can trust it without a first-connection prompt.

Copy files

Use boat scp with the sandbox ID as the remote host, or use file/artifact API calls when you are building an integration:
File read/write paths may be relative (resolved from the sandbox work directory, /home/user) or absolute; an absolute path must resolve under /home/user or /tmp, anything else is refused with a 400 invalid_path error naming the allowed roots. See CLI Reference for all scp options.