You are here

Error due to the new private key format of PuTTY 0.75 (PPK ver. 3)

Introduction

PuTTY 0.75 (or later) uses a new format for SSH private key (PPK version 3). PuTTY 0.74 or before can't read this format. As for PuTTY itself, this change is not a problem. However, this can be a problem for programs which use PuTTY internally (e.g. WinSCP). If the internal PuTTY version is not compatible with PPK version 3, the program can't use keys created with default setting of PuTTY 0.75.

For example, on May 25, 2021, the latest versions of WinSCP (5.17.10; PuTTY 0.73) and FileZilla (3.54.1) can't handle PPK version 3 keys correctly.

If you see error message like 'Unable to load key file "new.ppk" (PuTTY key format too new)' in other programs, there must be the problem of this private key file format issue.
 

Workaround

There are ways to avoid this issue. Also, WinSCP and other software will support the new format probably in the near future. You can wait for that time has come.

  • use PuTTY (PuTTYgen) 0.74 or before to generate key
  • use PuTTY (PuTTYgen) 0.75 (or later) to create PPK version 2 format key

Private keys created with 0.74 can also be used in PuTTY 0.75. Please see below to create PPK version 2 private key with PuTTY 0.75.
 

Generate PPK version 2 key with PuTTYgen 0.75 (or later)

1. launch PuTTYgen
2a. (click "Load" button to load existing private key)
2b. (If you create a new key, choose type and click "Generate" button (and then mouse cursor around). OpenSSH type public key text should be saved in a txt file.)
3. choose "Parameters for saving key files..." from "Key" menu

4. select PPK version 2 as below and then click "OK".

5. click "Save private key" of main window to save private key. (OpenSSH public key data won't be modified by this private key format change.)

Note: you can change PPK file version before generating/loading key.
 

Reference