So having problems using SSH to log into your servers? don’t fret, I am writing this to make your life easier.

There are two ways to use SSH, one using “PasswordAuthentication” and one using ssh-generated public and private Keys. The keyed methods is the one you will end up using most of the time. Now. here is how to go about it:

1. Install openssh-server

sudo apt-get install openssh-server

2. Backup your ssh configuration 

sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.factory-defaults
sudo chmod a-w /etc/ssh/sshd_config.factory-defaults

3. On the client create .ssh  directory (if it does not exists already) and generate public and private RSA keys

mkdir ~/.ssh
chmod 700 ~/.ssh
ssh-keygen -t rsa

Generating public/private rsa key pair.
Enter file in which to save the key (/home/b/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/b/.ssh/id_rsa.
Your public key has been saved in /home/b/.ssh/id_rsa.pub.</pre>
Congratulations! you now have SSH keys ready for use.

4. Transfer your public key to the server, I will assume that you still have password authentication enabled there.

ssh-copy-id <username>@<host>

Type the password, and kaboom! you have SSH  keyed access to your server. If you have already disabled password authentication, use the following to add your generated keys to the list of authorized keys

cp authorized_keys authorized_keys_Backup
cat id_rsa.pub >> authorized_keys

5. Disable password authentication from the server (optional)

Using your favorite editor, edit /etc/sshd_config by adding PasswordAuthentication no

 

Have fun ssh-ing!!