YouTube Icon

Code Playground.

How to Set Up SSH Keys on Ubuntu 20.04


How to Set Up SSH Keys on Ubuntu 20.04

Secure Shell (SSH) is an organization convention for making a protected association between a customer and a worker. With SSH, you can run orders on distant machines, make burrows, forward ports, and then some. 

SSH underpins different confirmation components. The two most normal ones are secret key and public-key based verification. 

Confirmation utilizing a public key depends on the utilization of advanced marks, and it is safer and helpful than customary secret key verification. 

This article discloses how to produce SSH keys on Ubuntu 20.04 frameworks. We'll likewise tell you the best way to set up a SSH key-based validation and associate with distant Linux workers without entering a secret key. 

Creating SSH keys on Ubuntu 

The odds are that you as of now have a SSH key pair on your Ubuntu customer machine. In the event that you produce another key pair, the bygone one will be overwritten. To check whether the key records exist, run the accompanying ls order: 

ls -l ~/.ssh/id_*.pub

In the event that the order returns something like No such record or index, or no matches discovered, it implies that the client doesn't have SSH keys, and you can continue with the subsequent stage and create SSH key pair. Something else, on the off chance that you have a SSH key pair, you can either the current ones or reinforcement up the old keys and produce another pair. 

To produce another 4096 pieces SSH key pair with your email address as a remark, run: 

ssh-keygen -t rsa -b 4096 -C ""

You will be incited to indicate the document name: 

Enter file in which to save the key (/home/yourusername/.ssh/id_rsa):

The default area and record name ought to be fine for most clients. Press Enter to acknowledge and proceed. 

Next, you'll be approached to type a safe passphrase. A passphrase includes an additional layer of security. On the off chance that you set a passphrase, you'll be provoked to enter it each time you utilize the way to login to the distant machine. 

On the off chance that you would prefer not to set a passphrase, press Enter. 

Enter passphrase (empty for no passphrase):

The entire cooperation resembles this: 

ls ~/.ssh/id_*
/home/yourusername/.ssh/id_rsa /home/yourusername/.ssh/

That is it. You've effectively produced a SSH key pair on your Ubuntu customer machine. 

Copy the Public Key to the Remote Server

Since you have a SSH key pair, the subsequent stage is to duplicate the public key to the distant worker you need to oversee. 

The most straightforward and the prescribed method to duplicate the public key to the worker is to utilize the ssh-duplicate id apparatus. On your neighborhood machine type: 

ssh-copy-id remote_username@server_ip_address

You will be incited to enter the far off client secret key: 

remote_username@server_ip_address's password:

When the client is validated, the public key ~/.ssh/ will be attached to the distant client ~/.ssh/authorized_keys document, and the association will be shut. 


Number of key(s) added: 1

Now try logging into the machine, with:   "ssh 'username@server_ip_address'"
and check to make sure that only the key(s) you wanted were added.

what's more, check to ensure that just the key(s) you needed were included. 

On the off chance that by some explanation the ssh-duplicate id utility isn't accessible on your neighborhood PC, utilize the accompanying order to duplicate the public key: 

cat ~/.ssh/ | ssh remote_username@server_ip_address "mkdir -p ~/.ssh && chmod 700 ~/.ssh && cat >> ~/.ssh/authorized_keys && chmod 600 ~/.ssh/authorized_keys"

Login to your server using SSH keys

Subsequent to finishing the means above, you ought to have the option to sign in to the far off worker without being provoked for a secret word. 

To test it, attempt to login to your worker by means of SSH: 

ssh remote_username@server_ip_address

In the event that you haven't set a passphrase for the private key, you will be signed in right away. Else, you will be incited to enter the passphrase. 

Disabling SSH Password Authentication

Impairing the secret phrase validation includes an additional layer of security to your worker. 

Before impairing SSH secret phrase validation, ensure you can sign in to your worker without a secret key, and the client you are signing in with has sudo benefits . 

Sign into your far off worker: 

ssh sudo_user@server_ip_address

Open the SSH setup record with your content manager : 

sudo nano /etc/ssh/sshd_config

Quest for the accompanying orders and adjust as it follows: 

PasswordAuthentication no
ChallengeResponseAuthentication no
UsePAM no

When done, spare the record and restart the SSH administration by composing: 

sudo systemctl restart ssh

Now, the secret word based validation is impaired. 


We've told you the best way to create another SSH key pair and set up a SSH key-based validation. You can utilize similar key to deal with numerous far off workers. You have additionally figured out how to cripple SSH secret word validation and include an additional layer of security to your worker. 

As a matter of course, SSH tunes in on port 22. Changing the default SSH port decreases the danger of robotized assaults. To rearrange your work process, utilize the SSH config document to characterize all your SSH associations. 

In the event that you have any inquiries or criticism, don't hesitate to leave a remark.