Ubuntu Server Setup SSH

We start out with a cheat sheet in case you are in a hurry and don't want to read through all of my lengthy descriptions of each step. This will get you started with your Ubuntu Server setup SSH steps (version 16.xx specific).
Jump to - Cheat Sheet
Jump to - Video Instructions
Jump to - Step by Step

Cheat Sheet




Video Instructions

We have video instructions of me setting up SSH on Ubuntu Server. Here is our YouTube video of the process:


Step by Step Written Instructions

Ubuntu Server Versions

This setup is demonstrated on Ubuntu Server 16.04. This should work for versions as old as 15.10. For anything older than that it will be slightly different and you will want to use upstart commands instead. Newer versions including 17.xx should work and these steps should probably still be valid until somday systemd is replaced with something else or the package name changes. Basically, anything current should work.

Getting started

We are going to start off with Ubuntu server running on a VM. It is already logged in on a local console but can’t yet be reached using SSH.

The first thing we are going to do is check the IP address of our server using:
ifconfig -a



First Connection Attempt

Now we know what IP we want to connect to. Next, we are going to try to use SSH to connect to the server from our desktop using:
ssh 10.2.225.97



It doesn’t work.

Lets check if SSHD is running. We'll use the ps command and pipe the output to grep like this:

ps -ef |grep -i sshd
It isn’t running.

Now lets check if anything is listening on port 22 using netstat like this:

netstat -nltp | grep 22

There is nothing listening on that port.




Install OpenSSH Server

We’re going to need to install OpenSSH Server. We will do this with the apt-get command like this:

sudo apt-get -y install openssh-server



Restart SSHD

Now that the daemon is installed we will restart it with the systemd command, like this:

sudo systemctl restart ssh



Verify

Lets verify that SSHD is up and running.

ps -ef | grep -i sshd

Now lets verify that it is running on port 22.

netstat -nltp | grep 22



Connection Sucessful


Now were going to try connecting with SSH again.

ssh 10.2.225.97 This time it works.



Verify


We can check that we are in fact logged into our server. Thats the right IP and hostname. It looks like we're in the right place. We have sucessfully logged into our server remotely using SSH.