Recommended Free Tools
iTechGuides is reader-supported. When you buy through links on our site, we may earn an affiliate commission. As an Amazon Associate I earn from qualifying purchases. Learn more
Need a server to try this on? Antihost offers Linux VPS plans with NVMe storage, full root access and a 14-day free trial.
PuTTYgen usually reports “Couldn’t load private key” because the file is in a private-key format that the PuTTY program you are using does not accept directly. The usual fix is to import the OpenSSH, ssh.com, or PEM key in PuTTYgen and save a PuTTY-format .ppk copy, then select that copy in PuTTY. Do not overwrite the original key.
If the key imports successfully but the server later rejects it, that is a different problem: the local file was readable, and the failure is likely related to the username, authorized key, server permissions, or session configuration.
What “Couldn’t load private key” means
PuTTY tools—including PuTTY, Plink, PSCP, PSFTP, and Pageant—expect a private key in a compatible format and protocol. The error generally appears before any SSH authentication takes place, while the program is trying to read the local file.
A common case is an SSH-2 private key stored in a foreign OpenSSH or ssh.com format. PuTTYgen can read those formats, but another PuTTY tool may require PuTTY’s native .ppk format. SSH-1 and SSH-2 also use different private-key formats, so a key created for one protocol cannot simply be used as though it belonged to the other.
#1 Best Overall
- POWERFUL SECURITY KEY: The YubiKey 5 NFC is the most versatile physical passkey, protecting your digital life from phishing attacks. It ensures only you can access your accounts
- WORKS WITH 1000+ ACCOUNTS: Compatible with popular accounts like Google, Microsoft, and Apple. A single YubiKey 5 NFC secures 100+ of your favorite accounts, including email, password managers, and more
- FAST & CONVENIENT LOGIN: Plug in your YubiKey 5 NFC via USB and tap it, or tap it against your phone (NFC), to authenticate. No batteries, no internet connection, and no extra fees required
- MOST SECURE PASSKEY: Supports FIDO2/WebAuthn, FIDO U2F, Yubico OTP, OATH-TOTP/HOTP, Smart card (PIV), and OpenPGP. That means it’s versatile, working almost anywhere you need it
- PRIMARY & SPARE KEYS: Just like having a spare house key, we recommend buying two YubiKeys - one for daily use and one as a spare. That way you’ll never get locked out of your accounts
The practical distinction is important:
- Load error: the local program cannot parse, decrypt, or accept the selected file.
- Authentication failure: the key was loaded and sent, but the server did not accept it for that account or session.
There is no reliable prevalence figure for this message; it is a format and configuration symptom rather than a measured failure category.
The primary fix: import the key and save a .ppk copy
Use this path when the original file is an OpenSSH, ssh.com, or other foreign SSH-2 private key.
What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
- Make a safety copy. Duplicate the original private-key file before converting it. Keep the original unchanged, especially if it is the only copy or is used by another tool.
- Identify the source format. Note whether the file is an OpenSSH key, an ssh.com key, a PEM-encoded key, or an existing
.ppkfile. Do not assume that a filename extension alone proves the format. - Open PuTTYgen. In PuTTYgen, open the Conversions menu and choose the command to import a private key. The exact wording or placement can vary between PuTTY releases, but the operation is the import function under Conversions.
- Select the original private key. Browse to the foreign-format file. If it is protected by a passphrase, PuTTYgen will ask for that passphrase. Enter the existing passphrase; importing does not require you to remove it.
- Save the PuTTY-format key. Choose Save private key and give the output a
.ppkextension. Unless you deliberately set a new passphrase, the converted key keeps the existing passphrase protection. - Point PuTTY at the converted file. Open the PuTTY session, go to the SSH authentication settings, and set the private-key file field to the new
.ppkfile. Do not leave the field pointing at the original OpenSSH or ssh.com file. - Reconnect. The PuTTY program should now be able to load the native key. If the server still refuses the login, continue with the authentication checks below rather than converting the key repeatedly.
Identify the key format before choosing a repair
Knowing what you have prevents two common mistakes: trying to use a foreign key directly in a PuTTY client, and changing a key that was already in the correct format.
Rank #2
- POWERFUL SECURITY KEY: The YubiKey 5C NFC is the most versatile physical passkey, protecting your digital life from phishing attacks. It ensures only you can access your accounts
- WORKS WITH 1000+ ACCOUNTS: Compatible with popular accounts like Google, Microsoft, and Apple. A single YubiKey 5C NFC secures 100+ of your favorite accounts, including email, password managers, and more
- FAST & CONVENIENT LOGIN: Plug in your YubiKey 5C NFC via USB and tap it, or tap it against your phone (NFC), to authenticate. No batteries, no internet connection, and no extra fees required
- MOST SECURE PASSKEY: Supports FIDO2/WebAuthn, FIDO U2F, Yubico OTP, OATH-TOTP/HOTP, Smart card (PIV), and OpenPGP. That means it’s versatile, working almost anywhere you need it
- PRIMARY & SPARE KEYS: Just like having a spare house key, we recommend buying two YubiKeys - one for daily use and one as a spare. That way you’ll never get locked out of your accounts
| Source file or situation | What it means | Recommended action |
|---|---|---|
| OpenSSH private key | A foreign SSH-2 format that PuTTY tools may not load directly | Import it in PuTTYgen under Conversions, then use Save private key to create a .ppk file |
| ssh.com private key | Another foreign SSH-2 format | Use the same PuTTYgen import-and-save workflow |
| PEM private key rejected by PuTTYgen | The encoding may not be recognized by the installed release | Preserve a backup, normalize the encoding with ssh-keygen, and retry the import |
Existing .ppk file |
Already in PuTTY’s native format | Check that PuTTY is selecting this exact file, then verify the SSH protocol and later authentication settings |
| SSH-1 key used in an SSH-2 session, or the reverse | The protocol and private-key format do not match | Configure the session for the protocol for which the key was created, or use a key made for the required protocol |
A key’s passphrase is separate from its file format. Conversion changes the container PuTTY reads; it does not automatically make an incorrect passphrase valid.
Check SSH-1 versus SSH-2
PuTTY documentation treats SSH-1 and SSH-2 as separate protocols with different private-key formats. A key created for SSH-2 should be used with an SSH-2 session. If the session is configured for SSH-1, or if an SSH-1 key is being supplied to an SSH-2 session, PuTTY may reject the file or fail to use it.
- Open the affected PuTTY session configuration.
- Review the SSH protocol setting and confirm that it matches the key you intend to use.
- For an SSH-2 key, select SSH-2 and use the converted
.ppkfile in the SSH authentication settings. - Save the session configuration if you want the corrected protocol and key path to persist.
Do not treat a protocol mismatch as a passphrase problem. Changing the password on the key will not make an SSH-1 key suitable for SSH-2.
Rank #3
- NIST Certification: FIPS 140-3 validated for government and regulated organizations (Overall Level 2, Physical Security Level 3).
- Works with 1000+ Accounts: Supported by Google and Microsoft accounts, Identity Access Managers, password managers and 1000+ popular services. It works with operating systems and browsers including Windows, macOS, Chrome OS, Linux, Chrome, and Edge.
- Fast & convenient login: Plug in your YubiKey via USB-A and tap it, or tap it against your phone (NFC), to authenticate. No batteries, no internet connection, and no extra fees required.
- Most secure passkey: Supports FIDO2/WebAuthn, FIDO U2F, Yubico OTP, OATH-TOTP/HOTP, Smart card (PIV), and OpenPGP. That means it’s versatile, working almost anywhere you need it.
- Built to last: Made from tough, waterproof, and crush-resistant materials. Made in Sweden with the highest security standards.
When a PEM file is rejected
Some PEM files use an encoding that the installed PuTTYgen release does not recognize during import. A compatibility procedure is to normalize the existing file with OpenSSH’s ssh-keygen, then retry the PuTTYgen import:
ssh-keygen -p -m PEM -f <keyfile>
Replace <keyfile> with the path to the key. The command changes the key’s encoding while retaining the key material; it may prompt for the current passphrase and, depending on the options you provide interactively, a new one.
Use this as a secondary path, not as the first response to every load error:
Rank #4
- NIST Certification: FIPS 140-3 validated for government and regulated organizations (Overall Level 2, Physical Security Level 3).
- Works with 1000+ Accounts: Supported by Google and Microsoft accounts, Identity Access Managers, password managers and 1000+ popular services. It works with operating systems and browsers including Windows, macOS, Chrome OS, Linux, Chrome, and Edge.
- Fast & Convenient Login: Plug in your YubiKey via USB-C and tap it, or tap it against your phone (NFC), to authenticate. No batteries, no internet connection, and no extra fees required.
- Most Secure Passkey: Supports FIDO2/WebAuthn, FIDO U2F, Yubico OTP, OATH-TOTP/HOTP, Smart card (PIV), and OpenPGP. That means it’s versatile, working almost anywhere you need it.
- Built to Last: Made from tough, waterproof, and crush-resistant materials. Made in Sweden with the highest security standards.
- Make a separate backup before running the command.
- Never overwrite the only copy of a private key without a recoverable backup.
- After normalization, return to PuTTYgen → Conversions → Import Key.
- Save the imported result as a new
.ppkfile and configure PuTTY to use that file.
If the normalized file still cannot be imported, the problem may be a protocol mismatch, an incorrect file selection, an unsupported key type, or a damaged/incomplete file. Keep the original backup available while you investigate.
Do these 3 things before closing this tab:
1Repair Windows errors before they cause bigger problems2Scan for outdated or missing drivers - takes under a minute3Clear out junk files and repair common Windows errorsWhy PuTTYgen can load a key but PuTTY cannot
PuTTYgen and PuTTY have different roles. PuTTYgen is the conversion and key-management utility; PuTTY is the SSH client that uses the resulting key during a session. PuTTYgen may successfully read a foreign OpenSSH or ssh.com key because it provides the import function, while PuTTY is still being given the unconverted source file.
After a successful import, confirm all three points:
Best Value
- POWERFUL SECURITY KEY: The Security Key C NFC is the essential physical passkey for protecting your digital life from phishing attacks. It ensures only you can access your accounts.
- WORKS WITH 1000+ ACCOUNTS: Compatible with Google, Microsoft, and Apple. A single Security Key C NFC secures 100 of your favorite accounts, including email, password managers, and more.
- FAST & CONVENIENT LOGIN: Plug in your Security Key C NFC via USB-C and tap it, or tap it against your phone (NFC) to authenticate. No batteries, no internet connection, and no extra fees required.
- TRUSTED PASSKEY TECHNOLOGY: Uses the latest passkey standards (FIDO2/WebAuthn & FIDO U2F) but does not support One-Time Passwords. For complex needs, check out the YubiKey 5 Series.
- BUILT TO LAST: Made from tough, waterproof, and crush-resistant materials. Manufactured in Sweden and programmed in the USA with the highest security standards.
- The output was saved with Save private key as a
.ppkfile. - The PuTTY authentication field points to that new file, not to the original foreign-format file.
- The session protocol matches the key, normally SSH-2 for a modern OpenSSH private key.
If those settings are correct and PuTTY still displays a load error, close and reopen the session configuration, browse to the file again, and verify that you have selected the intended copy rather than an old conversion or a public-key file.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Separate local loading from server authentication
A successful load only proves that the local program could read the private key. It does not prove that the server will authorize it.
PC Slower Than It Used to Be?
A free scan shows the junk files, broken settings and background clutter dragging Windows down - then fixes them in one click.Free scan · Windows 10 & 11Crashes, No Sound, or Screen Glitches?
Random freezes, missing sound and display glitches usually trace back to one bad driver. Find and replace yours safely.Free scan · under a minuteSigns of a local loading problem
- The error appears immediately when the key is selected or when the client starts.
- The message says “Couldn’t load private key,” “Unable to use key file,” or similar wording.
- No meaningful authentication exchange has occurred yet.
Return to format conversion, protocol matching, file selection, and passphrase checks.
Signs of a later authentication problem
- PuTTY accepts the file and proceeds to connect.
- The server then rejects the login or reports that public-key authentication failed.
- The same
.ppkfile can be opened by the client, but access is denied for a particular account.
At that stage, check the server-side authorized key, the username, account access, and file or directory permissions. Converting the private key again will not fix a server account that is configured with a different public key.
A decision checklist for recurring failures
| Observed result | Next check |
|---|---|
| PuTTYgen immediately refuses an OpenSSH or ssh.com file | Use Conversions → Import Key rather than opening it as though it were already a .ppk file |
| Import succeeds, but PuTTY still shows the load error | Replace the path in the SSH authentication settings with the newly saved .ppk file |
| The selected file is PEM and import fails | Back it up, run ssh-keygen -p -m PEM -f <keyfile>, and retry the import |
| The key is readable but authentication is refused | Stop converting locally; verify the server account, authorized key, username, and permissions |
| The key and client use different SSH protocol versions | Align the session protocol with the key, or obtain a key for the required protocol |
Protect the private key during conversion
A private key grants access wherever its corresponding public key is authorized. Treat every copy—including the original, the backup, and the converted .ppk file—as sensitive.
- Keep the original file unchanged until the converted key has been tested.
- Store backups where other users cannot casually read them.
- Retain the passphrase unless you have a specific, controlled reason to change it.
- Do not send a private key to a server administrator or paste it into a support ticket. Only the public key belongs in an account’s authorized-key configuration.
- When several copies exist, use clear filenames so PuTTY does not accidentally point to an obsolete conversion.
PuTTY interface labels and supported formats can vary by release. The durable workflow is format identification, import in PuTTYgen, save as .ppk, select the new file in the client, and then verify the SSH protocol and server-side authorization separately.
Free tools Windows power users keep installed
One-click scans. No signup required.
Quick Recap
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

