Login to Linux Using RSA Public Key

Generate RSA Key⌗
$ ssh-keygen -t rsa -b 4096
Copy the Public Key to the Server⌗
$ ssh-copy-id -i ~/.ssh/id_rsa user@host
Replace ‘user’ with your server username and ‘host’ with your server address
Modify Server Configuration File⌗
After copying the ID, we need to log in to the server first and modify the SSHD configuration file to enable PubkeyAuthentication
and disable PasswordAuthentication
:
PubkeyAuthentication yes
PasswordAuthentication no
Save the modified configuration file, then restart the SSHD service:
systemctl restart sshd
Modify Local Configuration File⌗
Modify the content of ~/.ssh/config
(create it if it doesn’t exist):
Host *
IgnoreUnknown UseKeychain
AddKeysToAgent yes
UseKeychain yes
IdentityFile ~/.ssh/id_rsa
This means that all Hosts will use the id_rsa we just generated. Of course, you can also configure different Hosts separately.
This completes the entire configuration process. Now you can test whether you can log in.
I hope this is helpful, Happy hacking…