# SSH Transport (/transport/ssh)



SSH transport sends a command to `mlab` installed on another machine. That target CLI connects to its own Native or Docker daemon.

```text
current mlab -> SSH -> target mlab -> target mlabd
```

The daemon itself is not remote and its socket or port is not exposed. Command output, errors, exit status, and streamed data return to the originating terminal.

Both machines must run the same Market Lab build.

## Select a Target [#select-a-target]

Confirm SSH works:

```bash
ssh user@SERVER_IP
```

Set the default target:

```bash
mlab remote use user@SERVER_IP
mlab daemon status
mlab bot jobs
```

Return to Local transport:

```bash
mlab remote use local
```

## Override One Command [#override-one-command]

```bash
mlab --remote user@OTHER_IP bot jobs
mlab --remote user@SERVER_IP source orderbook \
  --exchange hyperliquidf \
  --symbol BTC \
  --depth 20
```

## Manage Targets [#manage-targets]

```bash
mlab remote list
mlab remote status
mlab remote test user@SERVER_IP
mlab remote remove user@SERVER_IP
```

## Deploy a Local Script [#deploy-a-local-script]

```bash
mlab --remote user@SERVER_IP script run strategy.py \
  --python .venv/bin/python \
  --source btc@candles@binancef:timeframe=60
```

Market Lab sends the script and prepares its Python environment on the target. Jobs, logs, artifacts, and credentials remain on that machine.

Configure target credentials through an interactive SSH session:

```bash
ssh -t user@SERVER_IP mlab auth set hyperliquid
```

See [Authentication](/authentication).
