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

# SSH into jobs

> Connect to a running job, or to a failed job before it shuts down.

> [!NOTE]
>
> Ask Peak to turn on SSH access for your workspace.

## Before you start

* Add your SSH key to your GitHub account.
* Start the run yourself with write access to the repository, or be a workspace Admin with GitHub connected.
* Run the job on Peak.

## Turn on SSH access

Sign in as an Admin.

1. Open your account menu → Settings.
2. Under SSH access, check Enabled.
3. Set Hold after failure in minutes, from 0 to 60.
4. Choose Save.

Expect the change on jobs that start after you save.

## Connect to a job

Open the job's log on GitHub.
Copy the command from the Set up runner step.

```bash theme={null}
ssh -J JOB_ID@ssh.peak.inc runner@JOB_ID
```

Check the first host key against this value.

```text theme={null}
SHA256:cCxJoYsll9xHIsMr7agNa4SJR2epseKvRg9gQcsV/ZA
```

Check the second host key against the Host key line in the same step.

Use the same SSH key you use for GitHub.
Expect the job's user and its passwordless sudo.

## Debug a failed job

Connect within the hold time after the job fails.
Run this in the job to end the hold sooner.

```bash theme={null}
peak-release
```

Expect no hold for cancelled jobs.
Expect a successful job to stay up while you are connected, for up to 5 minutes.

## Check who can connect

| Person | Can connect |
| - | - |
| The person who started the run, with write access or higher | Yes |
| Workspace Admins with GitHub connected | Yes |
| Fork contributors without write access | No |
| Bots | No |

Add new SSH keys on GitHub before the job starts.
Check sessions in Settings → Activity.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.