Accessing Resources using SSH

FAU Research Computing (RC) Cluster Access & SSH Guide

Article Overview & Purpose

This guide provides step-by-step instructions for connecting to Florida Atlantic University’s High-Performance Computing (HPC) cluster nodes (Athene, Bast, and Speo).

What this article covers:

  • Connecting via required FAU VPN services (Fortigate or OpenVPN).
  • Establishing SSH connections using Terminal, PowerShell, or PuTTY.
  • Configuring SSH Keep-Alive settings to prevent automatic network timeouts.
  • Using tmux to keep interactive terminal sessions live and running in the background—even if your network or SSH connection drops.
  • Setting up passwordless SSH authentication with SSH public/private keys.
Important Access Notice: To access FAU’s High Performance Computing Clusters, users must first request access using the “Request Support” page on the FAU HPC portal.

1. Network Requirements (VPN Connection)

To connect to FAU HPC resources from off-campus or untrusted networks, an active secure VPN connection is required. You must connect using one of the following:

Ensure your VPN client is connected before initiating your SSH session.

2. HPC Login Nodes

FAU HPC cluster resources are accessible through the following primary login nodes:

Cluster Name Fully Qualified Domain Name (FQDN)
Athene athene-login.hpc.fau.edu
Bast bast.hpc.fau.edu
Speo (beta) speo-login.hpc.fau.edu

3. Connecting via SSH

Option A: Using Native Terminal (macOS, Linux, Windows PowerShell / Command Prompt)

Open your local terminal application and execute one of the following commands:

# Connect to Athene
ssh yourNetID@athene-login.hpc.fau.edu

# Connect to Bast
ssh yourNetID@bast.hpc.fau.edu

# Connect to Speo
ssh yourNetID@speo-login.hpc.fau.edu
  1. If prompted on your first connection, accept the host fingerprint by typing yes.
  2. Enter your FAU NetID Password when requested.

Option B: Windows (Using PuTTY)

  1. Launch PuTTY.
  2. In the Host Name (or IP address) field, enter the login node (e.g., athene-login.hpc.fau.edu, bast.hpc.fau.edu, or speo-login.hpc.fau.edu).
  3. Confirm the Port is set to 22 and Connection type is set to SSH.
  4. Click Open.
  5. Accept the host security alert if prompted.
  6. Type your FAU NetID and press Enter, then enter your Password.

4. Configuring SSH Keep-Alive (Prevent Disconnections)

VPN tunnels and firewalls often drop idle SSH connections after a period of inactivity. Configuring "Keep-Alive" packets prevents your terminal session from freezing or timing out.

Method A: OpenSSH Config File (macOS, Linux, Windows Terminal)

Create or edit your local SSH configuration file located at ~/.ssh/config on your local computer:

# FAU HPC Host Configuration
Host *.hpc.fau.edu
    ServerAliveInterval 60
    ServerAliveCountMax 3
    TCPKeepAlive yes
What these parameters do:
  • ServerAliveInterval 60: Sends a ping packet to the server every 60 seconds.
  • ServerAliveCountMax 3: Closes the connection only after 3 consecutive missed pings.
  • TCPKeepAlive yes: Ensures active TCP-level keepalive signals are transmitted.

Method B: PuTTY Keep-Alive Setting (Windows)

  1. Open PuTTY.
  2. In the left-hand navigation pane, select Connection.
  3. Under Sending of null packets to keep session active, set Seconds between keepalives to 60.
  4. (Optional) Navigate back to Session, highlight your saved session, and click Save.

5. Keeping Interactive Sessions Live with TMUX

When working over SSH, losing your VPN connection or closing your terminal window normally kills all running commands and interactive sessions. tmux (Terminal Multiplexer) creates persistent terminal sessions on the server that continue running in the background regardless of your network status.

Why use tmux?
  • Session Persistence: Long-running jobs or interactive text editors stay alive even if your computer restarts, loses Wi-Fi, or disconnects from VPN.
  • Easy Reconnection: Simply log back into the cluster and reattach to your existing session to pick up right where you left off.
  • Multiple Windows/Panes: Split your screen into multiple virtual terminals within a single SSH connection.

Essential tmux Commands

1. Start a New Named Session:

tmux new -s mysession

Replace mysession with a descriptive name (e.g., analysis, data_prep).

2. Detach from a Session (Leave it running in the background):

Press Ctrl + b, release both keys, then press d.

3. List All Active Sessions:

tmux ls

4. Reattach to an Existing Session:

tmux attach -t mysession

5. Terminate / Kill a Session when finished:

# From inside tmux, type:
exit

# Or kill it from outside tmux:
tmux kill-session -t mysession

Quick Cheat Sheet for Keyboard Shortcuts

All tmux shortcuts begin with the prefix key Ctrl + b:

Shortcut Key Action
Ctrl+b then d Detach from session (keeps session alive in background)
Ctrl+b then % Split pane vertically
Ctrl+b then " Split pane horizontally
Ctrl+b then Arrow Key Switch between split panes
Ctrl+b then c Create a new window inside current session
Ctrl+b then n / p Switch to Next or Previous window

6. Setting Up Passwordless SSH Login

Setting up public/private SSH key pairs enables secure authentication without typing your password on every login.

Option A: Linux / macOS / Windows Terminal (Native OpenSSH)

Step 1: Generate Key Pair on Local Machine

ssh-keygen -t rsa -b 4096

Press Enter to accept default file locations and passphrase prompts (or set a passphrase for added security).

Step 2: Copy Key to HPC Cluster Nodes

Using ssh-copy-id (recommended):

# Repeat for the cluster nodes you access:
ssh-copy-id yourNetID@athene-login.hpc.fau.edu
ssh-copy-id yourNetID@bast.hpc.fau.edu
ssh-copy-id yourNetID@speo-login.hpc.fau.edu

If ssh-copy-id is not available, run these commands manually:

# Create directory on server
ssh yourNetID@athene-login.hpc.fau.edu "mkdir -p ~/.ssh && chmod 700 ~/.ssh"

# Append public key
cat ~/.ssh/id_rsa.pub | ssh yourNetID@athene-login.hpc.fau.edu "cat >> ~/.ssh/authorized_keys && chmod 644 ~/.ssh/authorized_keys"

Option B: Windows Setup (Using PuTTY & PuTTYgen)

Step 1: Generate Key with PuTTYgen

  1. Launch PuTTY Key Generator (search for PuTTYgen in Windows Start menu).
  2. Leave default parameters (RSA, 2048/4096 bits) and click Generate.
  3. Move your mouse randomly across the blank area to build entropy.
  4. Click Save public key and save as a text file (e.g., fau_hpc_public.txt).
  5. Click Save private key and save as a .ppk file (e.g., fau_hpc_private.ppk).
  6. Copy the entire string from the top box labeled "Public key for pasting into OpenSSH authorized_keys file".

Step 2: Install Public Key on Cluster

  1. Log into the target node (e.g., athene-login.hpc.fau.edu) using PuTTY.
  2. Run the following commands:
    mkdir -p ~/.ssh
    chmod 700 ~/.ssh
    vim ~/.ssh/authorized_keys
  3. Press i to enter Insert mode, right-click to paste the copied public key, then press Esc and type :wq to save and exit.
  4. Set appropriate file permissions:
    chmod 644 ~/.ssh/authorized_keys

Step 3: Attach Key to PuTTY Connection

  1. Open PuTTY and navigate to Connection > SSH > Auth > Credentials (or Auth in older versions).
  2. In Private key file for authentication, click Browse and select your saved .ppk file.
  3. Go back to Session, type the host address, save the profile, and click Open.