Buena página de referencia: http://www.unixwiz.net/techtips/putty-openssh.html

La versión en PDF de esta página es esta: Putty and OpenSSH

Cómo usar las llaves privadas generadas con OpenSSH en Putty

Como convertir una llave pública en formato putty a formato OpenSSH

El aspecto que tiene una llave pública en formato putty es:

---- BEGIN SSH2 PUBLIC KEY ----
Comment: "rsa-key-20190308"
AAAAB3NzaC1yc2EAAAABJQAAAQEAkCUgoTSLMgzRGCgZHWbgkJQW8z+FbU73lR1T
Cv2oHHztc00LYL+lMAn2snhq2ltQeRXJORbMLMNmsYxZs7VZbqCbUhB09whcTVVd
a6E3mC62Qg+9OsBhrwoyigqH1GxBs+g2F0XyFR5G1XOxcO1X7y9zQbADKNNkZqtZ
3QKMoJhAYc+rdHQeCCRbVlwbadzB4C+B9l1XwkrSaiH5j/7UfkdAmAK8XUavTe9w
fmoT32vQAfSbVNRxY3Uwu8N/utYaBUwyA7AMRDLr3sam2ncbx75BkDS9eagaTBDZ
AqWxTiGXDlDIOZt2ClaJgzP0UDABt4Vn1wp7woMAaruebVYlvw==
---- END SSH2 PUBLIC KEY ----

Para convertirla a formato OpenSSH, podemos usar ssh-keygen:

ssh-keygen -i -f putty_pubkey_file  > openssh.pub

Ahora el formato será:

ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAQEAkCUgoTSLMgzRGCgZHWbgkJQW8z+FbU73lR1TCv2oHHztc00LYL+lMAn2snhq2ltQeRXJORbMLMNmsYxZs7VZbqCbUhB09whcTVVda6E3mC62Qg+9OsBhrwoyigqH1GxBs+g2F0XyFR5G1XOxcO1X7y9zQbADKNNkZqtZ3QKMoJhAYc+rdHQeCCRbVlwbadzB4C+B9l1XwkrSaiH5j/7UfkdAmAK8XUavTe9wfmoT32vQAfSbVNRxY3Uwu8N/utYaBUwyA7AMRDLr3sam2ncbx75BkDS9eagaTBDZAqWxTiGXDlDIOZt2ClaJgzP0UDABt4Vn1wp7woMAaruebVYlvw==

Putty-tools de Linux

apt-get install putty-tools
Cómo generar llaves para putty (.ppk) desde Linux

Primero generamos la llave privada:

puttygen -t rsa -b 4096 -o putty.ppk -C "user@host"

Ahora generamos la correspondiente llave pública:

puttygen -L putty.ppk

Eso genera, a partir de la llave privada putty.ppk, la correspondiente llave pública, también en formato putty.

Cómo convertir una llave OpenSSH en formato .ppk (Putty) desde Linux
$ cd ~/.ssh/
$ puttygen id_dsa -o id_dsa.ppk
Software para Windows