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 (private and public).
2, Adding the public key to server.
3, Connecting to server using keys.

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:

[[email protected] ~]# chmod 600 /root/.ssh/authorized_keys
[[email protected] ~]# 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.

PasswordAuthentication no

2.3 Restart SSHD

[[email protected] ~]# /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 🙂

Also read:

1, What is Rsync over SSH? Command for Rsync over SSH?
2, How to enable login email alert on server – WHM and SSH login alert
3, How to disable SSH login as root user – PermitRootLogin

Arunlal Ashok

Sr. Linux Server Administrator. I'm managing Linux servers since 2012. I started this blog to share and discuss my ideas. Check My Profile in uPwork (oDesk) and create a job, if you need any administration help. Thanks!!

You may also like...

Leave a Reply

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