Windows Box: 192.168.1.2
Linux Box: 192.168.1.5
You can download and install Putty from their official page based on your Windows environment.
My Putty files are available at C:Program FilesPuTTY as below
Here double click on "puttygen.exe" to open this tool which can be used to generate new private and public key
This tool is similar to Linux based ssh-keygen, next in the puttygen tool, select the key type and bit size which you would like use for the generated key.
Here for my example I am using 2048 bit size RSA-2 key
Once you click on "Generate" both private and public key will be generated.
Next change the comment to something which can be more meaningful and you can remember in future, like for me I have used email@example.com since I plan to use this key for root user for my Linux node 192.168.1.5
Since we want to perform a password less authentication hence I will leave the password section blank, in case if you wish to assign a passphrase then provide the same here
Next save the private key to your machine.
I am saving it by below name
Now it is time to copy the public key to the Linux box
Since I want to use this for root user I will append the public key to root user's authorized keys
The public key can be seen in the highlighted section, copy this and append the key to /root/.ssh/authorized_keys on 192.168.1.5 (my Linux box)
On my Linux box
as you see below I have appended my public key to the root user's authorized_keys file
drwx------. 2 root root 80 Apr 8 16:18 .ssh/
[root@golinuxhub-server root :~]# cat .ssh/authorized_keys
ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAQEApAhmZgOtgHLjxbbpUkjvpTjhN9WaVMy7gUw1sH2Uo8P9hgdSoGzs1zhNG7o/D4xuSJ2JfmWAMSqhJHtmgeszRNerPvAWWVOq7F98sS1W2fhHH/kShDnP05QXcUQxZnm+97iQHDBLb280KkXwj48NmpZP722AKIL/qaYVwS5TRnpgTrOLpa7zv9y5MaeH6+MmMmV6n0U5A8+LFf0qYPQYJ4oSFolA0anHJDDM9Gqw3JVX2mgyEOR7+H6R36LE01Fy5kgSBSX8KjGyF6VsssiUF1aDWsB3KEO3eHRuRIgfBfMTXV0K+rjFLSqnVj/m0/+pLx9JngYaGSFZNEHe4/4Irw== firstname.lastname@example.org
Now since everything is done it is time to create and save a session for my Linux box in the Putty with the private key.
Open Putty and add the Linux box IP as shown below
Navigate to SSH -> Auth
and Browse to the private key which was created above
Next navigate back to "Session" as shown below and "save" the changes
This will create a new shortcut with the host name as shown below. Select the hostname and click on Load, next click on "Open" to open a new connection
Next attempt to login using root, as you see it does not prompts for password this time and logs in without and passphrase
I hope the article was useful.