CIS241

System-Level Programming and Utilities

SSH

Erik Fredericks, frederer@gvsu.edu
Fall 2025

Based on material provided by Erin Carrier, Austin Ferguson, and Katherine Bowers

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

(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

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

Advantages of a Linux system

  • Risk reduction
  • Business needs
  • Stability and security
  • Flexibility
  • Customization
  • Support
  • Cost reduction
CIS241 | Fredericks | F25 | 2-SSH

Advantages - Risk reduction

  • Changes in the market or customer needs may cause companies to change software frequently
  • Can be costly and time-consuming
  • Support for closed source software may end
  • Vendor may go out of business
  • Software version may be retired
  • OSS products offer the opportunity to maintain and change the source code
CIS241 | Fredericks | F25 | 2-SSH

Advantages - Business needs

  • Common software available for Linux includes:
  • Scientific and engineering software
  • Software emulators
  • Web servers, web browsers, and e-commerce suites
  • Desktop productivity software
  • Graphics manipulation software
  • Database software
  • Security software
CIS241 | Fredericks | F25 | 2-SSH

Advantages - Stability and security

  • Customers using a closed source OS must rely on the OS vendor to fix any bugs
    • Waiting for a hot fix may take weeks or months
  • The collaborative open source approach to testing and fixing bugs increases the stability of Linux
  • Bugs and security loopholes in OSS programs can be identified and fixed quickly
    • Code is freely available and scrutinized by many developers
CIS241 | Fredericks | F25 | 2-SSH

Advantages - Flexibility

  • Partial list of hardware platforms on which Linux can run:
    • Linux can be (and is) customized to work on mobile and embedded devices
Intel x86/x64 M68K
Itanium PA-RISC
Mainframe (S/390) SPARC
ARM Ultra-SPARC
Alpha PowerPC
MIPS  
CIS241 | Fredericks | F25 | 2-SSH

Advantage - Customization

Ability to control the inner workings of the OS

  • To use Linux as an Internet Web server, recompile the kernel to include only the support needed to be an Internet Web server
    • Results in a much smaller and faster kernel
  • Can choose to install only software packages needed to perform required tasks
  • Linux supports several programming languages, such as shell and PERL scripts to customize or automate tasks
CIS241 | Fredericks | F25 | 2-SSH

Advantage - Support

Linux documentation can be easily found on the Internet

  • Frequently asked questions (FAQs)
  • HOWTO documents

HOWTO documents are maintained by their authors but are centrally collected by the Linux Documentation Project (LDP)

Linux newsgroups

Linux User Groups (LUGs): Open forum of Linux users who discuss and assist each other in using and modifying the Linux OS

CIS241 | Fredericks | F25 | 2-SSH

Advantage - Cost reduction

Linux is less expensive than other OSs

  • There is no cost associated with acquiring the software
  • A wealth of OSS can run on a variety of different hardware platforms running Linux

The largest costs associated with Linux:

  • Costs associated with hiring people to maintain the Linux system
  • Potential support from vendors (i.e., Red Hat)

Total cost of ownership (TCO): overall cost of using a particular OS

CIS241 | Fredericks | F25 | 2-SSH

Disadvantages of a Linux system

top-right (tux breaking through)

No standard edition of Linux

Support means that you’ll be searching for very specific fixes

  • Browsing SuperUser/ServerFault, forums, etc.

Not as easy to use as closed-source (Windows)

Program support

CIS241 | Fredericks | F25 | 2-SSH
(tux and android)

Common uses of Linux

  • Internet servers
  • File/print server
  • Application server
  • Cloud servers
  • Supercomputing
  • Workstations (Office, personal, scientific, etc.)
  • Mobile
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
(terminal)

Shells (local)

See the little dollar sign?

Shell!

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

Last - the web interface

https://computing.gvsu.edu

This will provide a web-based point of access for you!

  • Allows for desktop or terminal

  • Note that the user experience is not great!

    • Can't copy/paste files from your computer to the desktop
    • Random connection breaks common
  • However - don't need a VPN!

CIS241 | Fredericks | F25 | 2-SSH

Ok now really the last

To exit an SSH session (or to kill your terminal)

exit

CIS241 | Fredericks | F25 | 2-SSH

* kernel in the (protected) middle and manages all the things * can be recompiled/swapped!

have an old device? toss linux on it!

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