SSH (Secure Shell) is an encrypted protocol to connect with the remote device. By default, it works on TCP port 22. There are two methods to connect with the remote server using SSH, one is by using password authentication, and another way is to authenticate is by public key. In this tutorial, you will learn how to generate an SSH key and copy files over SSH (SCP) without entering a password in CentOS8.
Generate SSH Key
Before generating the SSH Key. Firstly, verify the SSH is installed or not. To verify, open up the terminal and type the following command.
# ssh –V
After verifying the SSH package. Now I am going to generate the SSH key, using the following command.
# ssh-keygen
To tighten up the security, you can mention the encryption algorithm according to your need, as shown below.
# ssh-keygen –t rsa # ssh-keygen –t rsa –b 4096
After entering the above command, the following output should appear.
To save the file in a suggested directory press enter.
Next, it will prompt you to enter the passphrase, leave it empty, and press enter. The following output should appear.
The SSH key is successfully generated. You can verify it by using the following command to view your SSH key.
This command will print your SSH key.
Copy the SSH to the remote side, use the following command.
# ssh-copy-id –i [email protected]
Repeat all of the above processes on the remote side if you want two-way communication.
Copy file without Password:
To copy the file on the remote side using the following command.
# scp file.txt [email protected]:/tmp/
It will copy your text file to the remote server, for verification go to the remote side and verify that your file has been copied.
SSH Configuration
Sometimes you need to require to configure the SSH at the remote side for authentication. In this case, enable the SSH authentication key, for this open up the /etc/ssh/sshd_config, and enable or add the following lines.
RSAAuthentication yes PubkeyAuthentication yes
Save the configuration file and restart the service using the following command.
# systemctl restart sshd
Conclusion
In this tutorial, we learned how to generate the SSH authentication key in CentOS8 and copy the file over the SSH without entering the password. I hope this tutorial will help you to understand SSH key generation and copy the file at the remote end.