# Connect with SSH, scp, sftp and rsync

Coming soon. Standard SSH access and editor connections are not available yet.

## Connect when enabled

On macOS or Linux, install rzv and OpenSSH, sign in with rzv login and select your workspace. The sandbox will need to be running, and Runzivo will need to enable SSH for your environment. SSH from a Windows computer is not supported yet. Use rzv sandboxes exec instead. Connecting will need sandboxes:write. Generating configuration with an API key will need sandboxes:read. No public IP or public SSH port will be needed.

Commands after enablement. Replace \<sandbox-id\>

```
rzv sandboxes ssh <sandbox-id>
rzv sandboxes ssh <sandbox-id> -- 'uname -a'
rzv sandboxes ssh-config <sandbox-id>
rzv sandboxes ssh-config <sandbox-id> --write
ssh <sandbox-id>.rzv
scp file.txt <sandbox-id>.rzv:/workspace/
sftp <sandbox-id>.rzv
rsync -a -e ssh ./project/ <sandbox-id>.rzv:/workspace/project/
ssh -N -L 8080:localhost:3000 <sandbox-id>.rzv
```

## Use VS Code or Cursor

These steps need a CLI release that supports SSH. No such release is available yet. Planned workflow: run ssh-config with --write as above. It maintains its own Host block and adds an Include to ~/.ssh/config, preserving other configuration. Add --workspace \<id, slug or name\> when generating configuration. An API key requires an exact workspace ID. Confirm plain ssh works, then install your editor’s Remote SSH extension, choose \<sandbox-id\>.rzv and open /workspace. The generated ProxyCommand runs rzv sandboxes ssh --stdio with your profile, workspace and binding. Preserve host verification. We have not yet tested VS Code or Cursor against a live sandbox.

Simplified. The generated file adds --profile, --workspace, --binding and a Match exec refresh. Use the generated file.

```
ProxyCommand rzv sandboxes ssh --stdio <sandbox-id>
```

## Transfer files

Use the generated SSH alias with scp, sftp or rsync. Review files before copying: source folders often contain credentials. Do not disable host-key checks or paste tokens into commands.

Use rzv sandboxes terminal \<sandbox-id\> for the existing PTY shell. Only rzv sandboxes ssh \<sandbox-id\> with no extra arguments will fall back to that shell when SSH or OpenSSH is unavailable. Remote commands and file transfers will receive guidance instead.

## Forwarding and limits

Local port forwarding will reach only services on the sandbox’s own localhost. Remote forwarding, SSH agent forwarding, X11, tunnels and Unix-socket forwarding will be disabled. Planned limits: at most two SSH sessions per sandbox. Sessions will close after thirty idle minutes or when the sandbox stops, expires or is deleted.

## Use case: review an agent’s work

Planned workflow: connect your editor over Remote SSH and open /workspace. Let your coding agent edit files in the sandbox and inspect the diff before you commit. Forward a local preview port to a service listening on the sandbox’s localhost. Copy work out before the eight-hour sandbox lifetime ends.

## Related pages and language

[Editor example](https://runzivo.dev/docs/sandboxes-devx-example-editor/)

[Français (Canada)](https://runzivo.dev/docs/sandboxes-ssh-fr-ca/)

On this page and page tools
