How to enable key based authentication – Putty
It’s time that I had to write a post about this, connecting to Linux server from Windows using Putty via public key. It’s very simple to connect using keys and also it’s highly secure. Putty is the client to connect to Linux based servers from your Windows machine. Here I’m explaining how to generate Key in windows using Putty and how to setup your machine to connect to Linux servers automatically.
Please do follow the steps below:
1. Generating Keys
Key generator is available with Putty to generate private and public keys. You can download PuttyGen from here, download Putty.Gen.
1.1 Open PuttyGen and click on Generate button to create your keys.
1.2 Generate randomness to create keys.
The key passphrase option enables additional security.
1.3 Save private key on the local machine.
2. Adding the public key to server
After generating keys we need to add the public key into the server’s authorized_keys file. This file is in the location “/root/.ssh/authorized_keys“;
2.1 Adding key
# vi /root/.ssh/authorized_keys
If it’s not there, create it.
For security reasons, change the file and folder permissions as follows:
[root@vps ~]# chmod 600 /root/.ssh/authorized_keys [root@vps ~]# chmod 700 /root/.ssh/
2.2 Uncomment “AuthorizedKeysFile” in SSH configuration file.
vi /etc/ssh/sshd_config . AuthorizedKeysFile .ssh/authorized_keys .
If you need to enable only key based authentication in your server, disable password authentication.
2.3 Restart SSHD
[root@vps ~]# /etc/init.d/sshd restart Stopping sshd: [ OK ] Starting sshd: [ OK ]
3, Final step : Connecting to server
Now we have to check whether the keys are working. Please follow the steps to connect server using key.
3.1 Create a “Saved Session”
Here you need to create a new saved session for your key based connection. Mention server IP address, SSH port and session name.
3.2 Add user name
Under “Connections >> Data” add user name to connect to server.
3.3 Add private key
Under “Connections >> SSH >> Auth” you can select the private key that we saved in our machine.
That’s it! Then come to session and save.
Try to connect now 🙂