Direct SSH to Compute Nodes¶
This guide provides instructions to directly connect from your local development machine to the CoSTAR compute nodes.
Why use direct SSH¶
A direct SSH connection is useful when you need to connect to software running on a compute node from your local machine. Common reasons include:
Attaching a debugger or IDE to a running process.
Accessing services started inside a job (for example, a web UI or API).
Running long sessions where you want a stable remote shell.
Prerequisites¶
Before attempting to connect, ensure you have the following:
An Active Job: Direct SSH access only works if you already have a running job on the specific compute node you want to connect to (typically
costar01throughcostar13).SSH Keys: For faster access, create and deploy your SSH keys first. See Generating SSH Keys and Deploying SSH Keys for the step-by-step guides.
Note
In the configuration examples below, remember to replace the User field (ab1234) with your actual CoSTAR username.
Option 1: VPN + jump host¶
If you are connected to the Surrey VPN, add the following entries to your ~/.ssh/config file on Linux or macOS.
On Windows, the config file can be found under C:\Users\YourUsername\.ssh\config, where YourUsername needs to be replaced with your actual Windows username.
The following config creates a route through the login node costar-login01 and targets a compute node directly.
Host costar-login01
HostName costar-login01
User ab1234
Host costar-node
HostName costar00
User ab1234
ProxyJump costar-login01
After this is set up, you can SSH into the compute node directly:
ssh costar-node
You can also use this setup with VS Code Remote - SSH to debug and develop on the node.
Warning
Update the compute node HostName every time you get a new node from srun.
The machine number changes from job to job, so this entry must be updated accordingly.
Option 2: Access node + jump hosts¶
If you reach CoSTAR through the Surrey access node, add one more jump host before costar-login01.
This is useful in cases where you cannot use the Surrey VPN for any reason.
Host surrey-access
HostName access.eps.surrey.ac.uk
User ab1234
Host costar-login01
HostName costar-login01
User ab1234
ProxyJump surrey-access
Host costar-node
HostName costar00
User ab1234
ProxyJump costar-login01
Then SSH to the compute node:
ssh costar-node
Warning
As with Option 1, remember to update the compute node HostName every time you are assigned a new node from srun.