Introduction to Tools and Techniques in Computer Science

Connecting to a remote computer

Franklin Bristow

Connecting with SSH

  • Connect to a remote computer using ssh.

You opened your terminal briefly in week 2 to install and run Pandoc to convert your Markdown-formatted plain text document into a .docx file.

Your terminal isn’t just for running Pandoc: terminals can be used to run many different programs, including running programs that will let you connect to other computers and run programs on those computers.

These instructions assume that you are connecting to a remote computer when you are on campus connected to U of M WiFi. If you are trying to do this from home, you first need to install, configure, and connect to the U of M’s VPN. You can find instructions for installing, configuring, and connecting to the U of M’s VPN on IST’s Virtual Private Network (VPN) page.

If you’re on campus connected to U of M WiFi or you’re off campus but you’ve installed the VPN and connected to it, let’s open up our terminals and get connected to a different computer.

Open your terminal

We opened our terminals in week 2. If you forget how to open your terminal (and it’s totally OK if you do!), refer back to the notes on verifying that Pandoc is installed.

Connect to a remote computer

Now that your terminal is open, let’s connect to a remote computer.

Just like we used the pandoc command to run Pandoc, we need to run a command to connect to a remote computer. The command that we run to connect to a remote computer is called ssh.

ssh stands for Secure Shell. Really formally: SSH is a “protocol”, an agreed upon way that two computers can talk to each other. SSH consists of a server (a program running on remote computers waiting for connections) and a client (the program running on your computer trying to connect to the remote computer).

Before SSH was Telnet, but Telnet wasn’t secured in any way (someone could trivially eavesdrop on your connection to the remote computer).

When we’re connecting to a remote computer we need to have some information to tell the program on our computer how to connect to the remote computer, and some information that we’re going to use to identify ourself.

Before you start connecting to a remote computer, you need:

  1. The name and location of the remote computer (an address).
  2. Our username on the remote computer (how we identify ourselves to the computer).
  3. Our password on the remote computer (how we prove our identity to the computer).

Here’s what you need to know to connect to the U of M CS computer systems.

  1. The name and location (address) of the remote computer for the CS department is

    aviary.cs.umanitoba.ca

    Aviary is not actually a real computer, but instead is an address for many computers. Each time you connect to the address aviary.cs.umanitoba.ca, you will be redirected to a different computer named for a specific bird (e.g., pelican.cs.umanitoba.ca).

    Aviary is a round-robin DNS name. Get it??? Round-robin 🐦. An aviary is a big bird house! It’s funny! It’s a joke!

  2. Your username on this remote computer is your UMNetID (the part of your @myumanitoba.ca e-mail address before @myumanitoba.ca).

  3. Your initial default password is your student number. You will be required to change this the first time you log in to aviary.

Now that you’ve got that information we can actually start connecting to a remote computer. When we’re connecting to remote computers, we’re going to use the ssh command and tell ssh how to connect to the remote computer. Connecting to a remote computer will always look like this:

ssh you@name.remote.ca
  • you is where you put your username. Replace you with your username.
  • name.remote.ca is where you put the name and location of the remote computer. Replace name.remote.ca with the address you want to connect to.

If I want to connect to Aviary, my username is fbristow and the address is aviary.cs.umanitoba.ca, so:

ssh fbristow@aviary.cs.umanitoba.ca

When you press Enter on your keyboard, the very first time you connect to a system, ssh is going to ask you if it’s safe to connect:

The authenticity of host 'aviary.cs.umanitoba.ca (130.179.28.114)' can't be established.
ED25519 key fingerprint is SHA256:XXXXXXX.
This key is not known by any other names
Are you sure you want to continue connecting (yes/no/[fingerprint])?

This is a pretty scary looking warning! The summary of this is that ssh is telling you that it doesn’t recognize the computer you’re trying to connect to. When you’re connecting to Aviary, you may see this warning more than once. You can safely enter yes (and you must enter yes, not just y) and press enter.

Next, ssh is going to ask you to enter your password. Type in your password, but note that you won’t see any feedback as you’re typing (you won’t see any * or dots), but type in your password, then press Enter on your keyboard again. If everything’s worked out, you should be connected to the remote computer 🎉!

Here’s what I see when I connect to the CS Department’s aviary.

ssh fbristow@aviary.cs.umanitoba.ca
Password: 
[fbristow@hawk ~]> 

This time I’m connected to a computer named hawk, you could be connected to one of many bird machines. You can disconnect from a remote computer by typing the command exit on your keyboard, then pressing Enter.