Skip to content

Docs CSC now features an automatic Finnish translation. Click here for more information.

Warning!

Puhti and Mahti are being decommissioned in stages, and their storage areas will become fully unavailable from 15 October 2026. Clean up unnecessary files and move any data you need to keep by 31 August 2026. See the Roihu data migration guide for instructions on transferring your data to Roihu.

Puhti scratch is very full: keep only active data there and move or delete everything else. No new Puhti scratch quota will be granted.

Connecting to CSC supercomputers

SSH certificates are required to connect to Roihu over SSH

To connect to Roihu, users must sign their public key in MyCSC to obtain a time-based SSH certificate. Each certificate is valid for 24 hours, and once it expires, a new one must be generated by signing the public key again.

Read the detailed instructions on signing your public key.

There are two main ways of connecting to CSC supercomputers.

  1. The traditional way to connect to a supercomputer is using an SSH client.
  2. We also offer a web interface to our systems, which enables running both graphical applications and command-line shells.

Additionally, we also offer a RESTful HTTP API based on FirecREST v2, which is the primary interface for machine-to-machine robot account usage.

For instructions on connecting to the LUMI supercomputer, please see the Get Started page in the LUMI user guide.

Login node usage policy

When you connect to a supercomputer using an SSH client or the Login node shell app, you are directed to a login node. Login nodes are not meant for long or heavy processing. The accepted uses for login nodes are defined in our login node usage policy.

Using the web interface

The web interface is a good platform for using graphical applications on CSC supercomputers. It hosts interactive applications for select programs like Jupyter and RStudio, and for other GUI programs you can use the remote desktop interface.

It is also possible to open a shell program on a login node or compute node. The compute node shell is persistent, meaning it will keep running even if you close your browser or lose your internet connection. The shell applications are especially convenient for users whose workstation has a Windows operating system, since Windows does not typically come with a pre-installed SSH client. See the instructions for connecting to HPC web interfaces.

Using the FirecREST HPC API

The FirecREST HPC API provides a standardized RESTful interface for accessing computing resources from web-based software. It offers APIs for managing jobs through Slurm scheduler, performing file system operations over personal and project data, and for transferring large amounts of data to or from the system.

Using an SSH client

Logging in to CSC supercomputers using an SSH client requires that you have

  1. set up SSH keys,
  2. added your public key to MyCSC, and
  3. Only in Roihu: sign your public key to obtain a time-based SSH certificate, must be repeated every 24 hours.
flowchart LR
    A(<b>Before first connection:</b>
      <a href='ssh-keys/'>Set up SSH keys</a>)
    A --> B{Connecting
            to Roihu?}
    B -->|yes| C(<b>Once every 24 hours:</b>
                 <a href='ssh-keys/#signing-public-key'>Get a new SSH certificate</a>)
    C --> D(<a href='ssh-unix/'>SSH with Linux/macOS</a>
            or
            <a href='ssh-windows/'>SSH with Windows</a>)
    B -->|no| D

Please note that traditional password-based authentication and public keys stored in your personal ~/.ssh/authorized_keys file will not work.

Unix-based systems like macOS and Linux typically come with a pre-installed terminal program called simply Terminal. The instructions for using an SSH client on macOS and Linux show how to connect to a CSC supercomputer using the terminal program.

Windows comes with the Command Prompt terminal program that typically has the OpenSSH ssh client installed. This client works in a similar fashion to the ssh clients on Linux and MacOS. In addition to this client, Windows has multiple programs that can be used for this. The instructions for using an SSH client on Windows lists a few popular options.

Once you have set up SSH keys, added your public key to MyCSC, and signed it to generate an SSH certificate (only required for Roihu), use a command like below to connect over SSH:

# Replace <username> with the name of your CSC user account and
# <host> with "puhti", "mahti", "roihu-cpu" or "roihu-gpu"

ssh <username>@<host>.csc.fi

Note

It might take up to one hour for your new key to become active on Puhti or Mahti after adding it to MyCSC. Roihu has no such delay since it is based on SSH certificates.

Once the SSH connection to the supercomputer is open, you can interact with it by issuing Linux commands using the Bash shell program. An introduction to working on the Linux command-line can be found in our Linux basics tutorial for CSC. You can have several connections to CSC supercomputers open at the same time.

First connection

When connecting to a given supercomputer for the first time, the SSH client may notify you that the host is unknown, and ask you to confirm the connection. With the OpenSSH client, the message looks like this:

The authenticity of host 'puhti.csc.fi' can't be established.
ECDSA key fingerprint is SHA256:kk0Tar9opQ+6Gq0GWJdWVVvFEMeI6kW1DW1VOYveT5c.
Are you sure you want to continue connecting (yes/no/[fingerprint])?

In order to continue, you should confirm that the displayed key fingerprint is found in the table below, and then enter yes. You will not be asked again unless the server key changes, in which case you should again verify the new key against fingerprints provided by CSC.

Host key fingerprints

SHA256 checksum Key
h3YVzmNucpxTXcxag8D2TaC21jH8/6LGNNCCOgRDaTU ssh_host_ecdsa_key.pub (ECDSA)
YNdesHbXhxN0hKD4mWvYGQONebjRqY+CGXDqPiZyByQ ssh_host_ed25519_key.pub (ED25519)
cXJ5h3Z9fgu0wVpC2kDIpjdsrFsJF/bfyWegQXsfQpU ssh_host_rsa_key.pub (RSA)
SHA256 checksum Key
kk0Tar9opQ+6Gq0GWJdWVVvFEMeI6kW1DW1VOYveT5c ssh_host_ecdsa_key.pub (ECDSA)
Q2lpykI43ffs4PrRODZ/qncjUo3eyrRHc5T9yjJEwWY ssh_host_ed25519_key.pub (ED25519)
WH1Ag2OQtMPZb+hj3YeH9uVMMetXpCvyNUbsdk0Qcpk ssh_host_rsa_key.pub (RSA)
SHA256 checksum Key
WC9Lb5tmKDzUJqsQjaZLvp9T7LTs3aMUYSIy2OCdtgg ssh_host_ecdsa_key.pub (ECDSA)
tE+1jA4Et1enbbat1V3dMRWlLtJgA8t7ZrkyIkU4ooo ssh_host_ed25519_key.pub (ED25519)
0CxM3ECpD2LhAnMfHnm3YaXresvHrhW4cevvcPb+HNw ssh_host_rsa_key.pub (RSA)

Graphical connection

We recommend using the web interfaces for running applications with graphical user interfaces. Alternatively, graphics can also be displayed over an SSH connection using X11 forwarding. See the operating system-specific instructions:

Advanced usage

Connecting to a specific node

When you connect to a supercomputer, you are automatically directed to one of the login nodes on the system. However, you can also use your SSH client to connect to a specific login node:

ssh <username>@<host>-login<id>.csc.fi  # e.g. 'roihu-gpu-login1.csc.fi'

The available login nodes are:

Puhti Mahti Roihu CPU Roihu GPU
puhti-login11 mahti-login11 roihu-cpu-login1 roihu-gpu-login1
puhti-login12 mahti-login12 roihu-cpu-login2 roihu-gpu-login2
puhti-login14 mahti-login14 roihu-cpu-login3
puhti-login15 mahti-login15 roihu-cpu-login4

This also applies to compute nodes, although just the ones where you have a job running. Use the squeue command to see which node(s) your job is on, and then connect to a node using ssh.

# The nodes hosting the job are
# displayed in the "NODELIST(REASON)" column.

[username@puhti-login11 ~]$ squeue --me
             JOBID PARTITION     NAME     USER ST       TIME  NODES NODELIST(REASON)
          12345678      test     test username  R       0:01      1 r07c01
[username@puhti-login11 ~]$ ssh r07c01
[username@r07c01 ~]$ hostname
r07c01.bullx

If you try to connect to a node where you have no active jobs, you will receive the following error message: Access denied by pam_slurm_adopt: you have no active jobs on this node.