Skip to content

Eustis tutorial

Eustis Tutorial

Introduction

Eustis is the server we’ll use this semester as a common testing platform where all assignment submissions need to run and work in order to receive credit. Eustis accounts have already been created for everyone who was enrolled in this course. You can log into Eustis from computers on campus, but to log into Eustis from home (or certain dorms on campus), you must first establish a UCF VPN connection. (See details below.)

Your Eustis Password

Eustis is integrated with UCF’s NET domain, meaning that you will use your NID and NID password to log in to the system once your accounts are created. If you have trouble logging into Eustis or get locked out of your account, you can e-mail your NID to helpdesk@cecs.ucf.edu and ask for assistance.

Trouble with UCF Account

For account issues (unrecognized username or invalid password), please e-mail helpdesk@cecs.ucf.edu. Be sure to include your NID, let them know you’re enrolled in this course, and provide a brief description of the login problem you’re encountering (e.g., the exact error message Eustis is giving you). For help establishing a connection to Eustis, please see one of the TAs in office hours. Your fellow classmates will also be a great resource for help with connection issues!

Connecting to Eustis While Using Campus Wifi

If you're using campus wifi, please log into the wifi network with your NID and NID password (not as a guest) in order to gain access to Eustis. If you do that, you won't need to go through the steps of manually establishing a VPN connection (except, sadly, in some of the dorms on campus).

Establishing a UCF VPN Connection (Windows and Mac)

Skip this if you're using a campus computer or if you're connected to UCF's wifi with your NID/password (not as a guest). If you’re using Linux, you might have to manually install the Cisco AnyConnect Client. See pg. 7 of this document for instructions on how to do so.

  1. Open https://secure.vpn.ucf.edu in your web browser.
  2. Sign in as a student using your NID and NID password.
  3. Download some stuff for Cisco AnyConnect.
  4. Open up Cisco AnyConnect and type in: https://secure.vpn.ucf.edu
  5. Again, type in your NID and NID password. This creates a VPN connection, and you can now log into the Eustis server using one of the methods described below.

Connecting to Eustis from a Command Line Terminal (Mac and Linux)

  1. Open a terminal window and connect to Eustis by typing the following:
ssh YOUR_NID@eustis.eecs.ucf.edu # (1)
  1. 🙋‍♂️ Hey there! This command uses ssh, which is Secure Socket Shell - a network protocol that allows for access of a computer or server over the network. We are using this to access the Eustis server that resides on UCF's campus!

Info

If you get an error about IP spoofing or a “REMOTE HOST IDENTIFICATION HAS CHANGED” warning when connecting, you might need to remove your old ssh key, like so (and then try re-connecting): ssh-keygen -R eustis.eecs.ucf.edu

Troubleshooting "Could not resolve hostname" Errors

Here are the most likely causes of “Could not resolve hostname” errors when trying to connect to Eustis:

  1. You’re off campus, but you’re not connected to the VPN. Connect to the VPN using the instructions in this document.
  2. You’re on campus, but you are connected to the VPN. Disconnect from the VPN and try logging in to Eustis again.
  3. You’re on campus, but you’re connected to the UCF_GUEST wifi network. Connect to UCF_WPA2 instead.
  4. You’re on campus, you’re connected to UCF_WPA2, and you’re not connected to the VPN. You’re doing the right thing there, but some pockets of the UCF_WPA2 network on campus just aren’t authenticated in such a way that they allow connections to Eustis for some reason – especially if you’re in a dorm. Connect to the VPN and try again.
  5. You’re using the bash shell on Windows (i.e., the Ubuntu-based Windows Subsystem for Linux). For some reason, that terminal sometimes has trouble connecting to Eustis by hostname and requires you to use an IP address instead, as shown below. This IP address is also listed in the section titled “Reference: Direct IP Address for Eustis” in the “Introduction to Eustis” page in Webcourses.

WSL Example


Connecting to Eustis from a Command Line Terminal (Mac and Linux)

Transferring Files to Eustis via Terminal (Mac and Linux)

1) Open a new terminal window. 2) Use the “cd” command to navigate to the directory containing the file(s) you want to transfer.

cd Desktop/COP3223H/EustisSetup

3) Type the following to transfer a single file to Eustis. Note that you need the :~/ at the end of this command:

scp some_file.c YOUR_NID@eustis.eecs.ucf.edu:~/ # (1)
  1. 🙋‍♂️ Hello again! This command uses scp which stands for Secure Copy Protocol, is a network protocol that allows for the transfer of files between computers. The format for the command is scp source_file (from local computer) remote_computer:file_path.

4) When prompted, enter your NID password (and keep typing even though no asterisks appear as you do).

5) To copy an entire folder to Eustis, use the -r flag, like so:

scp -r some_folder YOUR_NID@eustis.eecs.ucf.edu:~/ 

Connecting to Eustis with MobaXTerm (All-in-One Solution for Windows)

Please note that some versions of the SSH program included with Windows will not be able to connect to Eustis. You can instead download MobaXTerm – a free program that provides a beautiful, all-in-one solution for working with Eustis. MobaXTerm allows you to connect to Eustis, transfer files, and interact with the Eustis command line all in one program. It also allows you to edit files that are stored on Eustis (rather than editing them on your computer and then uploading). At the following link, click “GET MOBAXTERM NOW!” to download the free version: http://mobaxterm.mobatek.net/.

To connect to Eustis with MobaXTerm, you’ll want to establish a new SSH session with the following settings:

  • Remote host: eustis.eecs.ucf.edu
  • Specify username: (enter your NID in this field) Port: 22

Basic Commands - Including Command Line Compilation

1) To compile a source file (.c file) into an executable, you should run:

gcc -o program source.c # (1)
  1. 🙋‍♂️ For this code snippet gcc is the command to invoke the compiler, the -o argument allows us to provide a name for our executable program, program is the name of our executable program after the compilation process finishes, and source.c is the name of the C file that we uploaded to Eustis.

2) To run the program created above, which is called program, you should run:

./program # (1)
  1. 🙋‍♂️ Hello again! This is a simple command that runs your executable C program. In the bash linux command line, the ./ tells the computer to execute a compiled program.

3) Running a program could potentially dump a lot of output to the screen. In Linux, if you want to redirect the output of your program to a text file (such as output.txt), it’s easy. Just run the program using the following, which will create a file called output.txt that contains the output from your program.

./program > output.txt # (1)
  1. 🙋‍♂️ Here the > command is telling the computer to store the program output in the .txt. file named output.txt.

4) Linux has a helpful command called diff for comparing the contents of two files, which is really helpful if you have one text file containing the output your program just produced and another file containing the solution your program should produce. You can see whether the contents of two files match exactly (character for character) by typing, e.g.:

diff output.txt solution.txt

If the contents of output.txt and solution.txt are exactly the same, diff won’t have any output. It will just look like this:

kpmoran:~$ diff output.txt solution.txt
kpmoran:~$ _
If the files differ, diff will spit out some information about the lines that aren’t the same. For example:

1
2
3
4
5
6
7
kpmoran:~$ diff output.txt solution.txt
1c1
< Hello, world!
---
> Hello world! 
kpmoran:-$ _

5) To list all of the files in your current directory, run the following command:

ls

6) To delete a file, such as output.txt:

rm output.txt

7) To dump the contents of a file, such as output.txt, to the screen, run:

cat output.txt

8) To compile multiple source files into an executable, which you will have to do for some of your assignments this semester, simply list all of the source files you want to compile after the gcc command:

gcc -o program source1.c source2.c source3.c

9) If you want to compile a program that includes math.h library functions, you need to link the math library by adding the -lm flag at the command line:

gcc -o program source1.c -lm

Appendix A: Establishing a UCF VPN Connection (Manual Installation for Linux Users)

If you’re using Linux, you might have to manually install the Cisco AnyConnect Client in order to connect to UCF’s VPN. Here's how to do it.

1) Load up https://secure.vpn.ucf.edu in your web browser.

2) Sign in as a student using your NID and NID password.

3) If the client does not download right away and seems to be stuck at “Sun Java Applet started, this may take up to 60 seconds...” just be patient. It might take 2-3 minutes. Eventually, it should come up with this message:

Web-based installation was unsuccessful. If you wish to install the Cisco AnyConnect Secure Mobility Client, you may download an installer package. Install using the link below: Linux ×86 64

4) Right-click the link and save the file (vpnsetup.sh) to your desktop.

5) Open a terminal and enter the following commands:

1
2
3
4
5
6
7
# Go to your Desktop.
cd ~/Desktop
# Make the script you downloaded executable.
chmod +x vpnsetup.sh
# Run the script with administrative privileges. This will ask you for your Linux
# account password. That's okay. Type it in and hit [enter].
sudo ./vpnsetup.sh

6) Find and run the “Cisco AnyConnect Secure Mobile Client” in your Applications menu. (It was filed under “Other” on my system, but your mileage might vary.)

7) Enter https://secure.vpn.ucf.edu, click “Connect,” and supply your NID and NID password.

8) You'll have to click “Accept” for some terms of service.

9) Open a terminal and connect to Eustis using your NID and NID password:

ssh YOUR_NID@eustis.eecs.ucf.edu

Note: You need to replace “YOUR_NID” with your actual NID.

Info

Cisco AnyConnect sometimes produces the following error: “AnyConnect cannot confirm it is connected to your secure gateway. The local network may not be trustworthy. Please try another network.” If that happens to you, you can either simply try switching to Firefox, or install OpenConnect instead.