Odin is a server for Computer Science students, permitting them to submit homework assignments, work on code, and have a Linux environment to use when they don’t have the resources to run Linux. It is very similar to the Polaris system that Clarkson runs, except that they run Red Hat Enterprise Linux, and we run Debian Linux.
SSH, also known as a Secure SHell, is a secure manner to log into this machine. Using SSH is very simple, but requires basic knowledge of a computer terminal to use effectively. This guide’s aim is to help you navigate the terminal effectively.
Windows does not by default come with an SSH terminal emulator. You will need to download the PuTTY terminal emulator, conveniently linked here. All you need to do is download the stable Windows executable named
putty.exe. You can also use the PuTTY MSI installer for a more permanent installation, but that is not necessary.
Once you have downloaded PuTTY, launch it. If you have it downloaded, run it directly from your downloads folder, or if you installed it, look for it in your Start menu
After starting PuTTY, a small dialog box with many options will pop up. On the right side, there will be some options.
Connection Type: SSH
After you select these options, you should be able to click on the
Open button a the bottom right of the application window.
After you do this, there may be a verification popup asking if you are sure you want to begin connecting to the host. Clicking
Yes will continue to connect to the server. Every other time you connect from this computer, you will not see a popup.
Now, a new window with a terminal emulator will appear, which will prompt you to enter your username and password (and it will ask you to change your password if you are logging in for the first time)
Once you have properly connected, your session should show a prompt, as seen below:
When you see this prompt, you have successfully connected to Odin.
A SSH client is built into Mac and Linux, so using SSH is much simpler on one of these machines. Simply enter the following command into your favorite terminal emulator or TTY, replacing
username with your username.
When you connect, it may ask you to save the keys, just type
yes to that prompt, and you will never see it again on that particular computer.
After that, you should be prompted for your password, and if it’s your first time connecting ever, will ask you to change your password.
After all of this, you should have a SSH prompt, which looks like the line below:
When you see this prompt, you have successfully connected to Odin.
Here’s a quick listing:
exitExits the current SSH login, returning to a terminal or closing the terminal window.
lsLists all of the files in the current working directory (folder), adding
-ato see dotfiles, and adding
-lto see permissions and file sizes, among other things.
pwdLists the Present Working Directory, or where you are currently located in the filesystem. This defaults to your home directory, or a folder that serves as your personal documents and configuration files.
cd [location]Changes Directory to the file location
mv [origin] [new-location]Moves a file from one location from another
cp [origin] [copy-location]Copies a file from one location to another
rm [filename]Removes a file permanently from the system. Use
-ito get a verification step. Use
-rto remove multiple files at once from a directory
touch [filename]Creates an empty file
nano [filename]Opens the Nano editor with a file. Use
CTL-Xto exit and
vim [filename]Opens the Vim editor with a file. Use
ito insert text,
:wto write to the file, and
:qto exit the editor. Use the
EXCkey to break from a mode command. Use
:!qto exit without saving changes.
emacsIs it a text editor or a computer terminal? :D (If you don’t understand, there’s an ongoing battle between
emacs) I don’t know how to use emacs, but here’s a helpful guide. You won’t find it on Odin though, because the list of dependencies is ridiculous.
g++ [filename].cppThe C++ compiler, used for making programs. Passing
-oin front will instead use a specificed filename, for example
g++ compile-me.cpp -o application
./a.outThis command runs the default compiled output (or application) from a compiled C++ file. This file is a platform dependent executable file (similar to a
.exefile on Windows). If you passed the
-oflag to g++ then you will need to instead run
./[exec name]. For example, from the compilation above, you would run
Sometimes errors generated by SSH may not be very clear. This section aims to help you understand what went wrong
This problem is rare, but happens when a SSH keypair changes. If you are running Linux or Mac, you need to remove the
~\.ssh/known_hosts file. In Windows you have to carefully remove the key(s) from the registry.
This problem is rather common, and occurs when your computer is not connected to the internet. Also, check to make sure that your DNS settings work (if you can browse in a web browser they are good)
If you get this error, either your username or password is wrong. If you are having these problems, please contact us.
SCP is short for Secure File Copy, and is used to copy from one computer to another.
Open a terminal, and enter the following:
scp [from location] [to location]
When using SCP, you need to specify a location. It can be one of the following:
email@example.com:[path to file]where path to file is either an absolute path (for example,
/home/students/username/filename.txt) or a relative path (for example,
scp firstname.lastname@example.org:filename.txt filename.txt
scp filename.txt email@example.com:filename.txt
Install WinSCP from here and install it. The GUI should behave much like Windows File Explorer, and has a similar login interface to PuTTY (it may call it SFTP, which is the same as SCP). If you have further questions, please contact us.
Odin is a server run by the Clarkson Open Source Institute (also known as COSI).
It provides a virtual classroom workspace for multiple classes, including introductory and advanced CS courses.
The Clarkson Open Source Institute (better known as COSI) is part of the Computer Science department at Clarkson University. We are located at the Cora and Bayard Clarkson Science Center on the hill campus in Potsdam, NY, in rooms SC 334/336.
If you have a problem with your code, please contact your TA via email or in person. If your TA is not available, it would be reasonable to expect that someone in COSI can help you with your problem.
If there is a problem with Odin itself (such as a permissions issue, login failure, or other problem that doesn’t appear to be code related), send me (Jared Dunbar) an email and CC your TA in the email. I will try to respond as soon as reasonably possible to the problem.
The Clarkson Open Source Institute has meetings every Wednesday in SC 336 at 7:30pm. All majors are welcome to attend. We also hold a forum at 7:00pm on Wednesdays to talk about important lab administration. There are no requirements for becoming a member, you can come and go as you please.
If you would like a tour of the server room, please drop by sometime when the labs are open. We would be happy to educate you on the inner workings of the lab.