How To Add SSH Public Key To Server

Methods to add ssh public key to the server

In this tutorial, we will show you the methods to copy the public ssh key to the server. The public-key authentication method requires you to copy your public SSH key to the server’s authorized_keys file. You might be wondering why we need to add the SSH key to the server as the reason to add ssh key to the server is to allow you to access a server via SSH without a password. Here are two methods to copy the public ssh key to the server.

How To Add SSH Public Key To Server

Let’s go through the process of adding the ssh key to the server.

Copy ssh public key to remote server using ssh-copy-id:

In this very first method, we will copy the ssh public key to the server using ssh-copy-id tool. In this process, we will copy the personal computer’s public key to the list of the authorized keys on the remote server. The authorized_keys file is in the ~/.ssh/

ssh-copy-id -i ~/.ssh/ validusername@IP_ADDRESS_OF_THE_SERVER

When prompted, enter the password for your user account at the remote server. Your public key should be copied to the remote server.
~/.ssh/  is the default location for the public ssh key. If you want to use another public key rather than the one in the default location, use the -i option.

Manually copy the public ssh key to the server

In another method, we can manually copy the ssh key to the server.  This method is useful when your server doesn’t allow you ssh login via password. In this process, you need to ask the end-user to provide their pubic key at first.

cat ~/.ssh/

Manually append your public key to the remote ssh server’s key to the authorized_keys file. For example, copy the content of your ~/.ssh/ to the server’s ~/.ssh/authorized_keys file.

Using the following command combination

cat ~/.ssh/ | ssh user@remote-host 'cat >> ~/.ssh/authorized_keys'

Now, create new directories and files in the end user’s home directory so that you can add the public key of the end user that you have asked for in the previous step.

Now add the public key of the user in /home/user_name/.ssh/authorized_keys file

vim /home/username/.ssh/authorized_keys

Save and close the file.

Now, if your end-users tried to connect to a remote server then they might come across a permission denied error or something like this “r “sign_and_send_pubkey: signing failed: agent refused operation Permission denied (publickey)”.

One of the reasons for this is due to file permission on ssh file.  Make sure to set the correct file permissions:

chmod 700 /home/username/.ssh && chmod 600 /home/username/.ssh/authorized_keys

Change the ownership to the user:

chown -R username:username /home/username/.ssh

Now your end-user can log in to the server without any issue

READ More Relevant Stuff:  How To Fix No route to host SSH Error In Linux [Solved]

Leave a Reply

Your email address will not be published. Required fields are marked *