Skip to content

SSH (Secure shell)

In this article, step-by-step, we review the process "SSH"ing to RCC's clusters so you know what is happening.

Connecting to RCC clusters through SSH

There are countless 3rd party SSH clients for Windows, Mac, Linux (all flavors), Android, Chromebook, etc. SSH client means an application installed on your computer/phone that can connect your computer (client) to RCC clusters (host) through SSH protocol. Microsft Windows, Apple Mac Computers, and all flavors of Linux come with a preloaded SSH (native) SSH client. Here, we focus on connecting to RCC clusters using these native clients if you are a pro user, consider using other 3rd party, more robust SSH clients (e.g. iTerm2, Termius, etc.)

Apple Macintosh (Mac)

Macintosh machines, through the "terminal," can access the system's native SSH client app. Click on "launchpad," then search and open the "terminal" app.

Microsft Windows (10 and 11) Through the "Windows PowerShell," Windows machines can access the system's native SSH client app. Click on the "start" menu, then search and open the "Windows PowerShell" app.

!!! note Windows users running a version older than Windows 10’s April 2018 release will have to download a 3rd party SSH client to connect via SSH. We recommend a free version of Termius SSH client.

Now that we have "terminal" or "PowerShell" open. We can SSH to RCC clusters.

The general format of the command to connect to an SSH host is this:

ssh <username>@<hostname>

Here, instead of username, type in your CNetID, and hostname, depending on the cluster you need to connect, use one of the following SSH host addresses:

SSH host addresses

Shared clusters

Host name SSH host address
Midway2 midway2.rcc.uchicago.edu
Midway3 midway3.rcc.uchicago.edu
Midway3-AMD midway3-amd.rcc.uchicago.edu
DaLI dali-login.rcc.uchicago.edu

Restricted clusters

Cluster's host name SSH host address
Beagle3 beagle3.rcc.uchicago.edu
SSD ssd.rcc.uchicago.edu

Note: For the family of MidwayR clusters, please check the MidwayR user guide.

For example, to SSH to Midway3, we type in ssh jdoe@midway3.rcc.uchicago.edu and then press enter on Windows or return on Apple keyboards.

If this is your first time signing into a particular RCC cluster using your computer, the SSH client will ask, Are you sure you want to continue connecting?. Type yes and press the 'enter' button on your keyboard.

Then, we get a prompt to enter our CNetID password. Note, as you type in your password, no character or other symbol will appear, but it is alright; type in your password and press enter on Windows or return on Apple keyboards.

Then, the Duo's multi-factor authentication (MFA) prompt asks a few questions.

After Duo's multi-factor authentication (MFA), you land on one of the many RCC's login nodes. CNetID@clusterName-loginNodeNumber

Note

See Advanced SSH options to read more about different arguments you can add to your SSH commands.

Login nodes

Login nodes are the "foyer" of the RCC's clusters. They are connected to the Internet and enable you to transfer data to and from the system. They are not designed to carry out heavy workloads, and you should NOT run your computation on the login nodes. To connect to compute nodes to do computationally intensive work, there is one more step you need to go through. x

Warning

The login nodes are NOT for computationally intensive work.

Note

Login nodes have a small storage space for users to store a very small volume of data required for back-end processes such as authentication and other system-related processes upon logging in. Login nodes are not a storage space to save and install our packages.

Note

In compliance with the University of Chicago security guidelines, 2FA is required with limited exceptions. If you believe you have a justifiable need for SSH key-based authentication (only PIs), please contact our helpdesk and describe your situation. Once your request is received, the RCC security team will review it, and we will follow up with you as soon as possible.

Note

There are 2 or more login nodes on each cluster to share the workload from all the login users. You can land on one of the login nodes depending on their workload conditions at the time. You may choose to log in to a specific login node, e.g. midway2-login2.rcc.uchicago.edu, but it is typically discouraged.

Compute nodes

Compute nodes are designed to perform computationally intensive work. There is no Internet access on these nodes. To perform calculations or run simulations on the compute nodes, you need to submit job scripts to the queue via the sbatch command or via the sinteractive command to log into the allocated nodes directly. More information is given in this page.

Storage nodes

Storage nodes generally store all files and folders under users' home, scratch, and PI's group project directories. To learn more about how storage nodes are interconnected to compute nodes and across RCC clusters (Midway2, 3, Beagle, DaLi, etc.), check this page.

Data transfer

SCP - secure copy protocol

To copy files and folders from your personal computer (client) to RCC clusters (host) through SSH protocol, we use the following command, known as SCP (secure copy protocol.)

Open Terminal (Macintosh) or Windows Powershell (Windows)

scp <sourceFile> <CNetID>@<hostAddress>:<targetPath>

Example 1-a: Copying a single file from Jane's personal computer (client) to Dr. Pepper's project directory:

scp test.txt jdoe@midway3.rcc.uchicago.edu:/project/drpepper/users/jdoe/

Example 1-b: Copying a single file from Jane's personal computer (client) to her home directory:

scp test.txt jdoe@midway3.rcc.uchicago.edu:/home/jdoe/Documents/

Example 2-a: Copying a directory (collection of files) from Jane's personal computer (client) to Dr. John's project directory:

scp -r tests jdoe@midway3.rcc.uchicago.edu:/project/drpepper/users/jdoe/

On MacOS, you need to add -O if there is no folder with the same name on the target server:

scp -O -r tests jdoe@midway3.rcc.uchicago.edu:/project/drpepper/users/jdoe/

Example 2-b: Copying a directory (collection of files) from Jane's personal computer (client) to her home directory:

scp -r tests jdoe@midway3.rcc.uchicago.edu:/home/jdoe/Documents/

After pressing enter on your keyboard, the rest is the same as logging into RCC clusters through SSH.

SFTP - SSH file transfer protocol

SFTP is another SSH-based file transfer protocol that provides access, transfer, and management over any reliable data stream. RCC clusters support SFTP, and we strongly recommend this protocol for transferring data to/from RCC clusters. Termius SSH client, also supports SFTP.

Termius

Rsync

Rsync is a fast and versatile file transfer tool that keeps track of progress and the differences between the source and destination. There are many optimizations under the hood that make rsync tranfer files faster compared to scp. More information on the rsync command can be found at the rsync man page.

Example 1: Copy/synchronize folder tests from Midway3 to your current directory

rsync -avzhe ssh jdoe@midway3.rcc.uchicago.edu:/home/jdoe/Documents/tests .

Example 2: Copy/synchronize folder tests from your current directory to Midway3

rsync -avzhe ssh tests jdoe@midway3.rcc.uchicago.edu:/home/jdoe/Documents/