SSH is the most secure and quickest option for advanced users to access a server. A SSH key is an access credential in the SSH protocol. It's function is similar to that of user names and passwords, but keys are primarily used for automated processes and to implement single sign-on by system administrators and power users.

With Windows machines, users will need software such as PuttyGen to create an SSH key as there is no native software available. The basic function is to create public and private key pairs. PuTTY stores keys in its own format in .ppk files. However, the tool can also convert keys to and from other formats.

The following article will guide you on how to use PuttyGen to create the public and private key pair.

Step 1. Download PuTTYgen here
Step 2. Please note that there is no installation is required for PuTTYgen, it will run simply from its executable file or using command line.
Step 3. Open up PuTTYgen by double clicking on the puttygen.exe file that you have downloaded to your local machine.

You should be able to see a window like this.

4.  For “Type of key to generate” leave the default SSH-2 RSA. The “Number of        bits in a generated key”, 2048 is sufficient for most people. Alternatively, you                 can change it to 4096.

5. Click the “Generate” button to start the process of generating the new key pair.

6. When the progress bar starts loading, move your mouse randomly across the area to load up the bar and generate your key pair. As you move the pointer, the green progress bar will advance. The process should take a few seconds.

7. Your public SSH key will be displayed on the screen.

8. Save the private key by clicking the “Save private key” button. 

9. You can save the file in any directory using the .ppk extension on your local machine.

10. Save your public key to the same location on your computer.

11. Name the public key anything you'd like.

You have generated your SSH Key pair. The private key will stay on your computer while your public key needs to be uploaded to the server you wish to connect to.

Did this answer your question?