SSH Tutorial



This tutorial will guide you through the basic steps of successfully using an SSH client to connect to remote systems. There are several client options available. Two popular programs are the OpenSSH suite and PuTTY. Which one you choose should be a decision based on your preferences, level of IT skills, and your local computing environment.

Essentially, all major operating systems support OpenSSH - Linux, macOS and Windows. However, the available command line tools are different on these operating systems, and may not support all the features outlined below using the bash terminal application on Linux.
On Windows, you can try natively in the CMD or Powershell, Windows Subsystem for Linux (WSL), MobaXTerm, Cygwin, MSYS2 ... They all offer OpenSSH in one form or another. Some parts of the OpenSSH suite, like ssh-agent, will not work natively on Windows.

As an alternative, PuTTY is often used on Windows. It is an efficient GUI client, which has almost all of the features that OpenSSH offers. It consists of multiple graphical applications to provide this functionality.

Available Material

We have prepared a PDF worksheet, and two PDF tutorials - one for OpenSSH, and one for PuTTY.
We suggest that you try to complete the worksheet while referring to the supporting PDF and video tutorials below when needed.
Select the PDF Tutorial according to your decision on which SSH client to use, i.e. OpenSSH or PuTTY.

The most important topics covered are

  • using a client to log in to remote systems
  • dealing with SSH keys

These skills will be needed most in the upcoming course sessions. Additionally included, and certainly interesting & helpful, are

  • copying of data between systems
  • using SSH tunnels / port forwarding

Make sure that you thoroughly understand at least how to login remotely, and how to create (and use) SSH keys!

PDF Worksheet

Supplementary Material: PDF Tutorials


Supplementary Material: Video Tutorials

First Login with OpenSSH

(High Resolution 1280x720)

SSH Key Handling with OpenSSH

(High Resolution 1280x720)

Port Forwarding aka SSH Tunnels

(High Resolution 1280x720)

The Windows SSH Client PuTTY

(High Resolution 1280x720)

Secure Copy via scp, filezilla, rsync, stfp

(High Resolution 1280x720)