> For the complete documentation index, see [llms.txt](https://docs.exavault.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.exavault.com/connection-methods/sftp/ssh-key-authentication/creating-an-ssh-key-on-windows.md).

# Creating an SSH Key on Windows

The method for generating an SSH key pair depends on whether the Windows installation includes OpenSSH.

## Modern Windows Systems

Windows 10 and Windows 11 can include the OpenSSH `ssh-keygen` utility. Open PowerShell or Windows Terminal and run:

```powershell
ssh-keygen -t rsa -b 4096
```

You'll be prompted for a filename, which tells `ssh-keygen` where to store your generated public and private keys and determines the first part of the file names. If you accept the default, your private key will be `C:\Users\<YourName>\.ssh\id_rsa` and your public key will be `C:\Users\<YourName>\.ssh\id_rsa.pub`.

`ssh-keygen` also prompts you for a passphrase, which is not the same as your account password. The SSH key passphrase is optional. If you supply a passphrase, you will need to enter the passphrase every time you authenticate using your key.

Upload the public key to ExaVault and configure the SFTP client with the private key. Never give the private key to anyone.

## Older Windows Systems

If OpenSSH is not installed, use [PuTTYgen](https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html), which is part of the PuTTY suite.

1. Download PuTTYgen from the [PuTTY site](https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html). You can download either the full Windows Installer, which includes PuTTYgen, or just the standalone `puttygen.exe`.
2. Run `puttygen.exe`.
3. Select *RSA* for the key type and enter `4096` bits.
4. Select *Generate* to create the key pair.
5. Move your mouse to generate randomness.
6. Optionally add a comment to the key. The comment does not impact how the key works.
7. Optionally add a passphrase. If you supply a passphrase, you will need to enter it every time you authenticate using your key.
8. Copy the contents of *Public key for pasting into OpenSSH authorized\_keys file* into a text file. This is the public key to upload to ExaVault.
9. Select *Save private key* and store the file securely.

Upload the public key from step 8 to ExaVault and configure the SFTP client with the private key. Never give the private key to anyone.
