Overview

SSH into running jobs to debug issues, inspect state, or troubleshoot your workflows in real-time. Access is automatically granted using the SSH keys from your GitHub account. Zero configuration required.

Basics

When a job starts on a Blacksmith runner, SSH access is automatically enabled. The runner authorizes connections using the SSH keys you’ve added to your GitHub account, ensuring secure access without any additional setup. Each runner exposes a unique SSH port that’s displayed in your workflow logs at the start of every job.

Connecting to a runner

At the beginning of each job, you’ll see connection information in the Setup runner step:
ssh -p 12345 runner@...
Simply copy and run the command in your terminal to connect using your GitHub SSH key.

Simplify connections with SSH config

Add this to your ~/.ssh/config file to streamline connections:
Host *.vm.blacksmith.sh
    StrictHostKeyChecking no
    UserKnownHostsFile /dev/null
With this configuration, you can connect using just:
ssh -p 12345 runner@...
The StrictHostKeyChecking no and UserKnownHostsFile /dev/null settings skip host key verification since runner VMs are ephemeral and get new host keys each time. This also avoids cluttering your known_hosts file with temporary VM fingerprints.

Common use cases

Debug failing tests

Connect to inspect test artifacts, environment variables, or running processes when tests fail unexpectedly.

Verify build outputs

Check generated files, build artifacts, or compilation outputs directly on the runner.

Inspect environment state

Examine installed dependencies, system configurations, or runtime environments during workflow execution.

Troubleshoot network issues

Test connectivity, DNS resolution, or API access from within the runner environment.

Pricing

There is no additional cost for using this feature. For all other pricing, please visit our pricing page.

FAQ