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

# Quick Start For Service Consumers

> The fastest way to get a GPU-enabled machine is using a Job Recipe in the Console. This guide walks you through launching an Ubuntu instance with SSH access.

## Ubuntu with SSH

This requires an SSH key pair (public and private keys). If you don't have SSH keys yet, you can easily generate a dedicated key pair for Dispersed. For Windows-based system under versions 10 and 11, use the built-in OpenSSH client via PowerShell or Command Prompt.

The command below uses the recommended Ed25519 algorithm: 

```bash theme={null}
ssh-keygen -t ed25519 -f ~/.ssh/dispersed -C "your_email@example.com"
```

This creates a separate key pair that won't affect any of your existing SSH keys. Your public key is at `~/.ssh/dispersed.pub`. To view your public key:

1. Open **File Explorer** and navigate to your `.ssh` folder (typically `C:\Users\YourName\.ssh`).
2. **Right-click** the `.pub` file.
3. Select **Open with** > **Choose another app**.
4. Select **Notepad** to avoid formatted text that may add hidden characters or page breaks that will cause your key to break

***

## Quick Start Steps

1. Sign in to the [Dispersed Console](https://console.dispersed.com)
2. Navigate to **Run** in the sidebar
3. In the Recipe section select the`ubuntu:24.04` [Job Recipe](/job-recipes) which is recommended for this quick start
4. In the GPU section, choose the gpu that fits your budget and needs
5. In the configuration modal, provide the required inputs:
   | Input              | Description                     | Example                         |
   | :----------------- | :------------------------------ | :------------------------------ |
   | **SSH Public Key** | Your SSH public key             | `ssh-ed25519 AAAA... user@host` |
   | **Allowed IPs**    | IP addresses allowed to connect | `0.0.0.0/0` (any)               |
6. Click `Submit`. You’ll be redirected to the `Job Detail` page and you'll need to wait for Node Assignment as your job goes through the stages below. Once a Node is assigned, a `Job Run` is automatically created. This may take a few seconds to a few minutes depending on network availability.
   | Status       | Description                                              |
   | :----------- | :------------------------------------------------------- |
   | **PENDING**  | The network is searching for a Node with your specs      |
   | **ASSIGNED** | A Node has been selected and is preparing your container |
   | **RUNNING**  | Your container is running and ready for connections      |
7. When your Job shows **RUNNING**, find the **Job Runs** section and click on the Job Run to open the Get the connection information through the **Job Run Detail** page. The connection information should appear under **Node URLs**. Note down the `hostname` and `port` needed for SSH access.
8. Use the connection information from step 7 to connect to Dispersed:
   ```bash theme={null}
   ssh -i ~/.ssh/dispersed -p <port> duser@<hostname>
   ```
   <Frame>
     <img src="https://mintcdn.com/otoyinc/fbWdny2oSmyz86RZ/images/image-33.png?fit=max&auto=format&n=fbWdny2oSmyz86RZ&q=85&s=5b4aa0177ea979fe1703e78167081af4" alt="Image" title="Image" className="mx-auto" style={{ width: "89%" }} width="741" height="407" data-path="images/image-33.png" />
   </Frame>
   <Tip>
     The Job Run page updates automatically as status changes. Refresh if needed to see the latest connection information.
   </Tip>

***

<Warning>
  The **Ubuntu with SSH** recipe creates a **PERSISTENT** job that runs until you stop it. Remember to stop your job when finished to avoid continued billing.
</Warning>

## Stopping Your Job

Ensure to avoid continued billing by stopping your job when finished.

1. Navigate to **Jobs** in the Console
2. Click on your Job to view details
3. Click **Stop** (for running jobs) or **Cancel** (for pending jobs)

***

## Troubleshooting

| Issue                         | Solution                                                          |
| ----------------------------- | ----------------------------------------------------------------- |
| Connection refused            | Wait for Job Run status to be RUNNING, verify `allowed_ips`       |
| Permission denied (publickey) | Verify SSH key matches what you submitted                         |
| Job stuck in PENDING          | No Nodes available with required specs — try again later          |
| No Job Run appears            | Wait for a Node to be assigned — Job Run is created on assignment |

***

## Using the API

For programmatic access to Job Recipes, you'll need an [API Key](/node-operators/node-operators-create-api-key) and HMAC signature authentication. See [Authenticate API Requests](/service-consumers/service-consumers-authenticate-requests) for implementation details and code examples.
