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 | ||||
---|---|---|---|---|
|
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:
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.
The simplest solution is to enable this functionality directly in Windows 10.
You can also download the PuTTY application and use it if you prefer a graphical client.
If you would like to add Linux tools to your local system, you can install Windows Subsystem for Linux (WSL) and use the WSL terminal/SSH client to access the cluster.
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.
http://linuxcommand.org/lc3_learning_the_shell.php Recommend sections 1-5.
http://www.ee.surrey.ac.uk/Teaching/Unix/ Recommend sections 1-5.
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:
generate a public and private key pair on your local computer (
$ ssh-keygen -t rsa -b 4096
)copy your public key to the HPC cluster machine:
$ ssh-copy-id username@cslogin.arc.rhodes.edu
)tell your local machine the key pass phrase (once per boot) (
$ ssh-add
)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:
Mac OS X: https://rderik.com/blog/understanding-ssh-keys-and-using-keychain-to-manage-passphrase-on-macos/
Windows (Powershell): https://docs.microsoft.com/en-us/windows-server/administration/openssh/openssh_keymanagement
Windows (PuTTY): https://www.ssh.com/academy/ssh/putty/windows/puttygen
Linux/Windows (WSL): https://www.ssh.com/academy/ssh/agent
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:
...