Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Access to the CS computing infrastructure is currently limited to users on the Linux desktop computers in the CS Hardware Lab (Briggs 222) and via SSH through the Linux command line. You will need a working knowledge of Linux commands to get started. If you are new to the Linux operating system, you will probably want to start with the Getting Started with Linux section below.

COMP 231 Users

Students taking COMP 231 will need access to the FPGA boards to complete their lab assignments. The FPGA boards are connected to six dedicated workstations in the hardware lab (Briggs 222). Students can choose an unused workstation and login using their normal Rhodes ID and password. For more information on running the software see the Computer Organization Lab Information.

COMP 251 and other CS Courses

Students taking COMP 251 (and many upper-level systems electives) may also need to use the CS servers to complete their programming assginments. To connect to these machines, you will need to do some configuration on your local laptop / desktop. The specific steps depend on your operating system.

Anchor
Getting-Setup-for-Remote-Access
Getting-Setup-for-Remote-Access
Getting Setup for Remote Access

Complete the configuration steps in the appropriate guide below:

Once you have things setup to use SSH to access the cslogin server, you can start working. New users to the Linux command-line will likely need to read some documentation and/or run a tutorial before continuing.

Basic information about the command-line, text editing, and other useful information can be found here:

Basic Command-Line Skills and Tools

Addtionally, many courses use GitHub Classroom and the Git version control system to distribute and collect programming assignments. If this is the case, you will also need to setup your cslogin environment for GitHub access:

Configuring and Using Git

Accessing the System

These systems can be accessed either using the workstations in the Brigss 222 hardware lab, or accessed via SSH. Students enrolled in COMP 231 have priority access to all desktops in the hardware lab.

...

Off-campus users are not permitted to directly SSH into the system unless they have setup SSH keys between their own computer and cslogin.arc.rhodes.edu. To setup password-less SSH keys, follow the steps here: Getting Rid of SSH Passwords (Securely)in the Getting Setup for Remote Accesslinks shown above.

Note

You must setup your SSH keys from on-campus. Password logins are disabled from off-campus.

Getting Started with Linux

Using the Terminal

Unless you are using a virtual desktop to access these systems, you will need to use a terminal program on your desktop/laptop. Using a terminal program will depend on which operating system you use and your specific needs. If you are unsure, the simplest solutions are presented first.

MacOS X

Mac OS comes with the Terminal app, which is located in /Applications/Utilities (or you can search for it). This is fine for basic use.

...

.

...

Once you have your terminal installed and up and running, you can SSH to the machine as described above.

Windows

Windows users have several options to access remote machines using SSH.

Linux

Most Linux distributions ship with terminal software and an SSH client. Consult your system documentation for details.

Command Line / Shell

When you SSH into the cluster and are logged in, you will be at a command-line prompt, called the shell. You will need to some some basic text commands to switch directories, create folders, rename files, edit files, run programs, etc.

Rather than try to cover such a large subject in this guide, we provide links to tutorials for using the shell. While you don’t need to complete the entire tutorials, you should at least be familiar with the basics of using the shell.

Editing Files

While you can do a lot of things with the shell, you will likely need to create and edit text files at some point in order to run software on the cluster system. To do this, you will need to use a text editor program to create/edit/save text files. There are two commonly used editors:

Nano

Nano is a simple text editor, designed to be easy to use. The screen typically displays common editor operations on the bottom, which minimizes the need to memory key combinations. You can master nano in just a few minutes with the help of a short tutorial.

VIM

Vim is a powerful text editor that has features like syntax highlighting, spell checking, auto-indentation, and much more. The learning curve for Vim can be steep, but it can be a great time saver in the long run. The simplest way to learn vim is to type vimtutor at the shell prompt. This will walk you through the basics of the editor, from within the editor. You may also wish to follow a web-based vim tutorial.

Getting Rid of SSH Passwords (Securely)

The Secure Shell (SSH) can be setup with public-key encryption to eliminate the need for typing your password in when you access the cluster system. To configure this you will need to:

  1. generate a public and private key pair on your local computer ($ ssh-keygen -t rsa -b 4096)

  2. copy your public key to the HPC cluster machine:$ ssh-copy-id username@cslogin.arc.rhodes.edu)

  3. tell your local machine the key pass phrase (once per boot) ($ ssh-add)

  4. use SSH and SCP securely without needing to type your password every time

The general process is described here: https://www.redhat.com/sysadmin/passwordless-ssh

Parts of this process depend on your operating system:

Making SSH Easier

Most systems allow you to create a configuration file for SSH that will save you typing. For example, on Linux/Mac/WSL you can create the file ~/.ssh/config that contains the following:

Code Block
Host cslogin
  User user-25
  HostName cslogin.arc.rhodes.edu
  ForwardAgent yes

 You need to change the username to your Rhodes username, but then you should be able to connect like this:

$ ssh cslogin

and access the system without being prompted for a password and/or copy files using scp back and forth:

$ scp cslogin:~/file.txt file.txt copies from cslogin to local

$ scp file.txt cslogin:~/file.txt copies from local to cslogin

Page:

...