SSH private keys are often distributed as .pem files for Linux servers and cloud instances, but PuTTY on Windows expects a .ppk key file for key-based authentication. Converting the key avoids password logins while keeping the same server-side authorization.
A .pem file commonly contains an OpenSSH private key encoded in PEM text, optionally protected by a passphrase. PuTTY stores private keys in its own .ppk format, and PuTTY Key Generator (PuTTYgen) can import the OpenSSH key material and re-save it as a .ppk file that PuTTY can load.
The converted .ppk represents the same private key as the original .pem, so both files must be treated as secrets. Saving an unencrypted key makes it usable by anyone who can read the file, and a forgotten passphrase cannot be recovered. Import failures are commonly caused by outdated PuTTYgen builds, so using a current PuTTY release reduces format-compatibility issues.
https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html


PuTTYgen filters for .ppk files by default, so .pem keys may not appear until the filter changes.
Certificate or public-key-only .pem files cannot be saved as a private-key .ppk.


Importing and saving does not change the server authorization, so the same public key remains valid on the server.
A passphrase protects the private key at rest and reduces exposure if the .ppk file is copied.

Saving an unencrypted private key makes the .ppk immediately usable by anyone who can read the file.
Storing keys outside shared folders reduces accidental exposure through sync or file sharing.