Skip to content

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.

Overview of the SSH connection flow: local machine to login node to compute nodes

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:

  1. Open Settings → Apps → Optional Features.
  2. Click Add a feature and search for OpenSSH Client.
  3. 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:

~/.ssh/config
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:

~/.ssh/config
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.

Diagram showing how SSH tunneling connects a local browser to a Jupyter notebook running on a compute 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
  1. Open MobaXterm and go to Tunneling (in the top toolbar)
  2. Click New SSH tunnel
  3. Select Local port forwarding
  4. Fill in:
    • My computer (Forwarded port): 8888
    • SSH server: hyperion.sw.ehu.es with your username
    • Remote server: hyperion-039 port 8888
  5. Click Save and then Start
  1. Open PuTTY and load your session for the cluster
  2. Go to Connection > SSH > Tunnels
  3. Fill in:
    • Source port: 8888
    • Destination: hyperion-039:8888
  4. Select Local and click Add
  5. 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.

    Jupyter guide

  • code-server


    Full VS Code in the browser, running on a compute node.

    code-server guide

  • VS Code Remote SSH


    Connect your local VS Code to a compute node.

    VS Code guide

  • RStudio Server


    Run RStudio in the browser on a compute node.

    RStudio guide

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.

    Account setup

  • Jupyter Notebook


    Run Jupyter notebooks on compute nodes and access them through your browser.

    Jupyter guide

  • code-server


    Run VS Code in the browser on a compute node.

    code-server guide