Public key authentication is actually a Must Implement for SSHv2. Since SSHv1 is long obsolete, any gear that doesn't have pubkey doesn't actually have a de jure SSH implementation.
"All implementations MUST support this method"
"All implementations MUST support this method"
Do with that whatever you will.