It is due to the key file which isn't present in public subnet. We suggest you to download this software "Pageant" and add the key's which you have given for both the instances while launching.
Pageant will be running as a service and you can add keys in it. You can see pageant at the location shown in below screenshot
Right click over here and you will see an option to "Add Keys" . Now add the .ppk file which is used to connect the public instance and private instance.
Now in the Putty interface, while you are connecting to public subnet through putty no need to give the .ppk file from Auth section.
Instead, please select the " Allow Agent Forwarding " option present in Auth section in putty.
You will be able to connect to public subnet now. give the same command ssh privateip and it will fetch the key automatically from pageant in background and ssh you to private subnet too.
Let us know if you need any further help.