How to connect¶
All access to our HPC clusters is done via SSH (Secure Shell), a protocol that provides encrypted remote access to our systems. This page explains how to connect from different operating systems and covers common configuration options.
First time connecting?
Before you can connect, you need a valid DIPC HPC account and at least one SSH key registered on our authentication server. If you haven't done this yet, see Account Setup.
How it works¶
When you connect to our clusters, your SSH client establishes an encrypted connection to one of our login nodes. From there, you can submit jobs to the compute nodes, manage files, and interact with the cluster.
Quick start¶
Once your account and SSH key are set up, open a terminal and run:
ssh username@hyperion.sw.ehu.es
Replace username with your assigned username. That's it, you're in.
Available login nodes:
| Cluster | Hostname |
|---|---|
| Hyperion | hyperion.sw.ehu.es |
| Atlas FDR | atlas-fdr.sw.ehu.es |
| Atlas EDR | atlas-edr.sw.ehu.es |
Connecting by operating system¶
Most Linux distributions and all modern macOS versions include an SSH client out of the box. Simply open a terminal and use the ssh command as shown above.
Option 1: Built-in OpenSSH client (recommended)
Windows 10 (build 1809) and later include an OpenSSH client. To enable it:
- Open Settings → Apps → Optional Features.
- Click Add a feature and search for OpenSSH Client.
- Click Install.
Once installed, open PowerShell or cmd and use the ssh command as shown in the Quick start section.
Option 2: MobaXterm
MobaXterm is a popular alternative that includes a terminal, file transfer, and other useful features in a single application.
See Account Setup for instructions on configuring MobaXterm with your SSH key.
Option 3: PuTTY
PuTTY is another widely used SSH client for Windows. Note that PuTTY uses its own key format (.ppk), so you will need to convert your OpenSSH key using PuTTYgen if you choose this option.
Simplify your connections with SSH config¶
Instead of typing the full hostname and username every time, you can create an SSH configuration file that defines shortcuts for your connections.
Edit (or create) the file ~/.ssh/config on your local machine and add:
Host atlas
HostName atlas-fdr.sw.ehu.es
User your_username
After saving, you can connect simply by running:
ssh atlas
You can add multiple entries for different clusters:
Host atlas
HostName atlas-fdr.sw.ehu.es
User your_username
Host atlas-edr
HostName atlas-edr.sw.ehu.es
User your_username
SSH tunneling (port forwarding)¶
SSH tunneling allows you to securely access services running on the cluster (such as Jupyter notebooks or code-server) from your local machine. It works by forwarding a port on your local machine to a port on a compute node, through the login node.
The general syntax is:
ssh -L <local_port>:<compute_node>:<remote_port> <username>@<login_node> -N
| Part | Meaning |
|---|---|
-L |
Create a local port forward |
<local_port> |
The port on your machine (what you open in the browser) |
<compute_node> |
The hostname of the compute node running the service |
<remote_port> |
The port the service is listening on |
<login_node> |
The cluster login address (e.g., hyperion.sw.ehu.es) |
-N |
Do not execute a remote command (just keep the tunnel open) |
For example, to forward port 8888 from compute node hyperion-039:
Open a terminal and run:
ssh -L 8888:hyperion-039:8888 <username>@hyperion.sw.ehu.es -N
The terminal will appear to hang with no output. That is normal; the tunnel is active. Keep it open while you use the service.
Windows 10 and later include an OpenSSH client. Open PowerShell or cmd and run the same command:
ssh -L 8888:hyperion-039:8888 <username>@hyperion.sw.ehu.es -N
- Open MobaXterm and go to Tunneling (in the top toolbar)
- Click New SSH tunnel
- Select Local port forwarding
- Fill in:
- My computer (Forwarded port):
8888 - SSH server:
hyperion.sw.ehu.eswith your username - Remote server:
hyperion-039port8888
- My computer (Forwarded port):
- Click Save and then Start
- Open PuTTY and load your session for the cluster
- Go to Connection > SSH > Tunnels
- Fill in:
- Source port:
8888 - Destination:
hyperion-039:8888
- Source port:
- Select Local and click Add
- Go back to Session and click Open
After the tunnel is active, open http://localhost:8888 in your browser to access the service.
Where is tunneling used?¶
SSH tunneling is required for all interactive computing services on the clusters:
-
Jupyter Notebook
Run notebooks on compute nodes via your browser.
-
code-server
Full VS Code in the browser, running on a compute node.
-
VS Code Remote SSH
Connect your local VS Code to a compute node.
-
RStudio Server
Run RStudio in the browser on a compute node.
Troubleshooting¶
Connection refused or Connection timed out
Verify that you are using the correct hostname and that your network allows outgoing SSH connections (port 22). Some corporate or university networks may block SSH traffic. Try connecting from a different network or ask your IT department.
Permission denied (publickey)
Your SSH key is not being recognized. Make sure your private key is in the default location (~/.ssh/id_ed25519) or that your SSH client is configured to use it. See Account Setup for details.
SSH tunnel: bind: Address already in use
The local port is already taken by another process. Either close the other process or pick a different local port:
ssh -L 9999:hyperion-039:8888 <username>@hyperion.sw.ehu.es -N
Then open http://localhost:9999 instead.
SSH tunnel connects but the browser shows nothing
Make sure the service (Jupyter, code-server, etc.) is actually running on the compute node. Check with squeue -u $USER that your job is still in RUNNING state.
Host key verification failed
This can happen if the server's host key has changed (e.g. after a maintenance intervention). If you are confident the change is legitimate, remove the old key with:
ssh-keygen -R atlas-fdr.sw.ehu.es
Then try connecting again.
See also¶
-
Account setup
Generate SSH keys and register them on the authentication server.
-
Jupyter Notebook
Run Jupyter notebooks on compute nodes and access them through your browser.
-
code-server
Run VS Code in the browser on a compute node.