> ## Documentation Index
> Fetch the complete documentation index at: https://namespace.so/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# SSH / Remote Display with Namespace Compute

export const CenteredImage = ({src, alt, width, caption, className}) => {
  const [basePath, setBasePath] = useState("");
  useEffect(() => {
    const path = window.location.pathname;
    setBasePath(path === "/docs" || path.startsWith("/docs/") ? "/docs" : "");
  }, []);
  return <Frame caption={caption} className={className} style={{
    maxWidth: width,
    marginInline: "auto"
  }}>
			<OptimizedImage src={`${basePath}${src}`} alt={alt} />
		</Frame>;
};

## Remote Display

Namespace supports visual debug access through multiple options which is invaluable for debugging GUI applications, testing user interfaces, and investigating display-related issues.

<h3 id="vnc-remote-display">
  VNC Integration
</h3>

Access your Mac runners through Remote Display (VNC) directly from the Namespace [dashboard](https://cloud.namespace.so/workspace/instances).

<CenteredImage width={600} alt="Tahoe Remote Display" src="/docs/images/tahoeremotedisplay.png" />

You can also start a VNC session using our [CLI](/docs/reference/cli/installation):

```bash theme={null}
nsc vnc <instance-id>
```

VNC support is currently available for macOS runners. Support for other platforms is in development.

### RDP Access

To gain interactive, visual access to your Windows runners, you can rely on our RDP integration.

<CenteredImage width={600} alt="Windows RDP" src="/docs/images/windows-demo.png" />

You can start an RDP session using our [CLI](/docs/reference/cli/installation).

```bash theme={null}
nsc rdp <instance-id>
```

RDP credentials are printed on the CLI and currently need to be entered in the RDP client manually.

## SSH Access

Connect to any running instance via SSH for command-line debugging and investigation.
Perfect for examining file systems, running diagnostic commands, and troubleshooting build environments.
The simplest path to jump into an interactive terminal is through your browser with our web SSH interface.

<CenteredImage width={600} alt="Terminal access" src="/docs/images/webterminal.png" />

Alternatively, you can jump into an SSH session from your command line.
To open an SSH session, you can use our [CLI](/docs/reference/cli/installation):

```bash theme={null}
nsc ssh <instance-id>
```

SSH access is available for Linux and macOS runners, with Windows support coming soon.

To use native SSH, supply your public key when creating an instance:

```bash theme={null}
nsc create --ssh_key ~/.ssh/id_ed25519.pub
```

and then connect to it using:

```bash theme={null}
ssh <instance-id>@ssh.<region>.namespace.so
```

**Note:** If you'd like to use your GitHub SSH key with native SSH instead, reach out to our [support team](mailto:support@namespace.so) to get it enabled.

## API Reference

SSH credentials can be obtained programmatically via the [ComputeService](https://buf.build/namespace/cloud/docs/main:namespace.cloud.compute.v1beta)
`GetSSHConfig` RPC. It returns:

* A short-lived **SSH private key** with access restricted to the specified instance.
* The **username** and **endpoint** to connect to.

You can optionally specify a `target_container` to open an SSH session directly inside a specific
container running on the instance.
