# Connecting to a session

Once a session is running, you can connect to it in several ways. Which methods are available depends on the operating system: macOS sessions add a graphical desktop over VNC, while Linux sessions are terminal and IDE only.

## Web terminal

The [Bitrise RDE UI](/bitrise-rde/rde-options/bitrise-rde-ui) includes a browser-based terminal on the session detail page. It connects straight to the machine, supports multiple tabs, and needs no local setup — it's the quickest way to run a command in a session.

## SSH

Each session has an SSH address and a one-time password, shown on the session detail page and available from the CLI with `bitrise-cli rde session view`. Use them with any SSH client.

For passwordless access, register your SSH public key as a [saved input](/bitrise-rde/configuration/saved-inputs). Bitrise adds it to the session's authorized keys, so you can connect without copying a password each time. macOS sessions sign in as the `vagrant` user and Linux sessions as the `ubuntu` user.

To run a single command without opening an interactive shell, use [`bitrise-cli rde session exec`](/bitrise-rde/rde-options/bitrise-rde-cli#running-commands-in-a-session).

## VNC

macOS sessions expose a graphical desktop over VNC, which is useful for watching a simulator or a GUI app. The session detail page shows the VNC address and credentials, and builds a `vnc://` link that opens your VNC viewer. From the CLI, run `bitrise-cli rde session open-vnc SESSION_ID` to open the viewer directly, or `bitrise-cli rde session vnc SESSION_ID` to print the connection details. If there's no direct network route to the session, `bitrise-cli rde session vnc SESSION_ID --forward 5901` tunnels the VNC endpoint to a local port over SSH.

Linux sessions don't have a desktop, so VNC isn't available for them.

## Device view

A session that boots an iOS simulator or Android emulator streams it to the browser on both platforms, and exposes the device ports for SSH tunneling. See [Device sessions](/bitrise-rde/devices/device-sessions#watching-the-device-in-the-browser).

## VS Code Remote - SSH

To edit code in a session from VS Code, use **Open in VS Code** on the session detail page. It opens VS Code with the [Remote - SSH](https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.remote-ssh) extension connected to the session. If the session's template defines workspace links, you can open a specific folder directly.

The dedicated [Bitrise VS Code plugin](/bitrise-rde/rde-options/bitrise-vscode-plugin) can also create and manage sessions for you.

## Transferring files

You can move files between your machine and a session at any time:

- With the CLI, use `bitrise-cli rde session upload` and `bitrise-cli rde session download`.
- With an AI coding agent started by `bitrise-cli rde claude`, just ask the agent to upload or download a file — see the [Quickstart](/bitrise-rde/getting-started/quickstart#let-the-agent-reach-your-machine).
