As far as I know "-e" flag will work for both public and private key ? Am I wrong ? At least this is what's stated in the "man ssh-keygen" :
Quote:
-e This option will read a private or public OpenSSH key file and print the key in RFC 4716 SSH Public Key File For-
mat to stdout. This option allows exporting keys for use by several commercial SSH implementations.
edit : .... or maybe this won't work, does
that helps ?