How to Generate SSH Keys on Windows

How to Generate SSH Keys on Windows

Minh Vu

By Minh Vu

Updated Jul 07, 2023

If you're looking to establish a secure connection between your local machine and a remote server, SSH keys are an essential tool. SSH keys are a secure method for authenticating users and are an alternative to traditional password-based authentication.

In this tutorial, we'll walk you through the step-by-step process to generate SSH keys on Windows. We'll cover two methods:

  • Using Command Prompt
  • Using PuTTYgen

By the end of this tutorial, you'll have a good understanding of the SSH key generation process and be able to use SSH keys for secure authentication.


Before we get started with SSH key generation, there are a few prerequisites that you should have in place:

  1. Software and tools: You'll need to have either the Command Prompt or PuTTYgen installed on your Windows machine. Both are readily available for download online.
  2. Necessary permissions: You'll need to have administrator-level permissions on your Windows machine to generate SSH keys.

If you're unsure about whether you have these prerequisites in place, it's a good idea to check with your system administrator or IT department before proceeding. Once you have the necessary software and permissions, you're ready to move on to the next steps.

Method 1: Using Command Prompt

Command Prompt is a built-in command-line utility in Windows that can be used to generate SSH keys. Here are the step-by-step instructions to generate SSH keys using Command Prompt:

  1. Open the Command Prompt on your Windows machine. You can do this by pressing the Win+R key combination, typing cmd, and then pressing Enter.
  2. In the Command Prompt window, type the following command to generate an RSA SSH key: ssh-keygen -t rsa. This will generate a new SSH key using the RSA algorithm.
  3. You'll be prompted to enter a file location to save the key. Press Enter to save the key in the default location, which is your user's home directory. Alternatively, you can specify a custom file location by typing the full file path.
  4. You'll also be prompted to enter a passphrase. This is an optional security feature that adds an extra layer of protection to your SSH key. If you don't want to set a passphrase, just press Enter to leave it blank.
  5. Your SSH key pair is now generated and saved to your specified location. The public key has the same name as your private key, but with a .pub extension.

And that's it! You've successfully generated an SSH key using Command Prompt.

Figure: ssh-keygen-windows

Method 2: Using PuTTYgen

PuTTYgen is a graphical tool for generating SSH keys on Windows. Here are the step-by-step instructions to generate SSH keys using PuTTYgen:

  1. Download and install PuTTYgen from the official website.
  2. Open PuTTYgen and select the desired parameters for your SSH key. You can choose between different key types, key sizes, and encryption algorithms.
  3. Click on the "Generate" button to generate the SSH key pair.
  4. You'll be prompted to move the mouse around the blank area to generate random data. This is used to improve the randomness of the key generation process.
  5. Once the key pair is generated, you can save the private key to your desired location. It's important to keep the private key secure and not share it with anyone.
  6. You can also copy the public key to the clipboard and add it to your remote server's authorized keys file for authentication.

And that's it! You've successfully generated an SSH key using PuTTYgen.

Figure: ssh-puttygen-windows

Choosing Key Type and Size

When generating SSH keys, it's important to choose the right key type and size. The key type determines the encryption algorithm used to generate the key pair, and the key size determines the length of the key.

The most commonly used key types are RSA, DSA, and ECDSA. RSA is the most widely supported key type and is a good choice for most use cases. DSA and ECDSA are newer key types that offer better performance and security, but are less widely supported.

The key size determines the strength of the key. The larger the key size, the more secure the key, but also the slower the encryption and decryption processes. The most commonly used key sizes are 2048 bits and 4096 bits. A key size of 2048 bits is generally considered to be secure for most use cases, while a key size of 4096 bits provides an extra level of security.

When generating SSH keys, you should choose the key type and size that best fits your security and performance requirements. It's also a good idea to consult your organization's security policies and guidelines to ensure compliance.


In this tutorial, we've covered two methods to generate SSH keys on Windows: using Command Prompt and using PuTTYgen. SSH keys provide a secure and convenient way to authenticate users and establish secure connections between your local machine and a remote server.

Whether you're a system administrator, developer, or just someone looking to establish a secure connection, generating SSH keys is an essential skill to have. We hope this tutorial has been helpful in getting you started with SSH key generation on Windows.

You can search for other posts at home page.
Minh Vu

Minh Vu

Software Engineer

Hi guys, I'm the author of WiseCode Blog. I mainly work with the Elastic Stack and build AI & Python projects. I also love writing technical articles, hope you guys have good experience reading my blog!