CIS241

System-Level Programming and Utilities

SSH

Erik Fredericks, frederer@gvsu.edu
Fall 2025

Based on material provided by Erin Carrier and Austin Ferguson

CIS241 | Fredericks | F25 | 2-SSH

First, Linux

top-right (tux)

What is it?

  • Often referred to as an operating system (OS)

    • Competing with Mac/Windows
  • Technically, it is a kernel

Many OSs use the Linux kernel

  • Ubuntu (what is on EOS)
  • Arch, Kali, Gentoo, Fedora, etc.

Isn't Mac Linux too?

  • Nope, Darwin! (Unix-based)
CIS241 | Fredericks | F25 | 2-SSH

Protection Rings

center (protection rings)

CIS241 | Fredericks | F25 | 2-SSH

A bit of history

1970s: UNIX source code typically stripped from distribution

  • Exorbitant amounts of money to acquire source

Linux first developed by Linus Torvalds to be a copy of UNIX

  • Released it to Internet for suggestions on how to improve it

  • Kernel only updated by core developers and from suggestions

  • Short history of Linux

top-right

CIS241 | Fredericks | F25 | 2-SSH

Unix?

top-corner

Unix was an earlier operating system

  • Linux and other systems are heavily influenced by Unix

We now use “Unix-like” to describe systems

  • They follow the same general ideas as Unix
  • This means most things (commands, properties) carry over!

"Unix-like" systems:

  • Linux
  • macOS
  • FreeBSD
  • Solaris
CIS241 | Fredericks | F25 | 2-SSH

Unix Timeline

CIS241 | Fredericks | F25 | 2-SSH

Windows

Windows (today), is not Unix-like

  • Can you do your homework on a Windows machine?
  • Not by default

However, we have WSL! (◕‿◕✿)

CIS241 | Fredericks | F25 | 2-SSH

Terminal

top-right (terminal)

CIS241 | Fredericks | F25 | 2-SSH

Shells (local)

See the little dollar sign?

Shell!

top-right (terminal)

What shell are we using?

echo $0

CIS241 | Fredericks | F25 | 2-SSH

Shells (local)

Where is the shell here?

  • Ring 3, typically!

How do we run in other rings?

top-right

CIS241 | Fredericks | F25 | 2-SSH

Shells (remote)

Or, connecting to another machine

  • Or or, doing your homework ಠ_ಠ

ssh --> Secure Shell

Usage: ssh username@address

For example, connecting to EOS:

ssh username@eos1.cis.gvsu.edu

You can use eos01.cis.gvsu.edu - eos30.cis.gvsu.edu!
Note - if you're off-campus you'll need a VPN!
CIS241 | Fredericks | F25 | 2-SSH

Lab fun

DO NOT

SHUT DOWN

THESE MACHINES

top-right

CIS241 | Fredericks | F25 | 2-SSH

![right (terminal)](img/e-shell.png)