PuTTY has long been the best SSH Terminal in Windows. Microsoft began properly supporting SSH client and service in Windows 11 . It's method for using SSH keys matches OpenSSH on Linux, with PuTTY private keys being incompatible.
PuTTYgen is the bundled software for generating SSH private/public keys, and Pageant is the agent for keeping the private key in memory.
Install https://the.earth.li/~sgtatham/putty/latest/w64/putty-64bit-0.84-installer.msi (Latest version as of May 2026).
Run PuTTYgen.
Under Parameters at the bottom, select "ECDSA".
Click Generate. You really do need to move the mouse over the "Key" area of the GUI, or it won't progress.
Enter a passphrase; spaces and several words is OK. Recommended to write this sentence down on paper.
Click Save private key.
Enter a file name such as "%USERNAME%_%COMPUTERNAME%". Windows will fill in the environment variables and save the file with .ppk extension in %USERPROFILE%; this is a sensible location, %USERPROFILE%/.ssh/ is also good.
Open two instances of File Explorer. Navigate to %USERPROFILE% and shell:startup.
Yes, Windows will open real folders from these addresses.
Create a shortcut in the Startup folder to the PPK file from %USERPROFILE%.
Double-click the shortcut; you should be prompted for your passphrase.
After entering it correctly, Pageant will be displayed in your Windows task tray.
The option to output SSH configuration requires us to replace the shortcut.
Open File Explorer to shell:startup
Right-click and select "New, Shortcut".
Browse to %PROGRAMFILES%, PuTTY, and pageant.exe . Click Next.
Name the shortcut Pageant and click Finish.
Right-click the shortcut and modify the properties.
After the Target, append the option for OpenSSH integration; you probably need to replace the ppk file with the actual path and filename.
"--openssh-config" "%USERPROFILE%\.ssh\pageant.conf" "%USERPROFILE%\%USERNAME%_%COMPUTERNAME%.ppk"
Run the shortcut. Windows 11 has a bug preventing you editing the Target after running a shortcut with an error; if you make a mistake, delete the shortcut and create again.
Start a Windows Terminal.
Add pageant.conf to the SSH client configuration file:
cmd
cd %USERPROFILE%/.ssh/
echo Include pageant.conf >> config
Now when you use SSH client from Windows, it should use Pageant for authentication.
Confirm there is an identity agent from pageant; if so, copy the //./pipe value of identityagent.
ssh -G localhost | findstr /I identityagent
Print the public key by querying the agent :
set SSH_AUTH_SOCK={{value of identityagent}}
ssh-add -L