The SecureShell specification RFC 4716 documents a public key format for persisting public key files. See https://tools.ietf.org/html/rfc4716 However, the PROTOCOL documentation (https://cvsweb.openbsd.org/cgi-bin/cvsweb/src/usr.bin/ssh/PROTOCOL?annotate=HEAD) does not state how OpenSSH does not use this format. Instead it creates public key files i n a format similar to the encoded data stated in RFC 4253. I think a small note about the difference would be beneficial.
Added this section to PROTOCOL, it will be included in the openssh-7.8 release: 4. Miscellaneous changes 4.1 Public key format OpenSSH public keys, as generated by ssh-keygen(1) and appearing in authorized_keys files, are formatted as a single line of text consisting of the public key algorithm name followed by a base64-encoded key blob. The public key blob (before base64 encoding) is the same format used for the encoding of public keys sent on the wire: as described in RFC4253 section 6.6 for RSA and DSA keys, RFC5656 section 3.1 for ECDSA keys and the "New public key formats" section of PROTOCOL.certkeys for the OpenSSH certificate formats.
I also added a note to https://www.openssh.com/specs.html that RFC4716 is only supported bu ssh-keygen for key import and export.
Close RESOLVED bugs with the release of openssh-8.0
Looks like the new comment added has dead links for ssh-keygen It links to: http://man.openbsd.org/keygen.1 Instead of: http://man.openbsd.org/ssh-keygen.1 And same issue appears in section 4.2 Private key format