Esto no es posible sin algunos cambios serios en el código de sudo y sshd. Sudo no sabe acerca de los métodos de inicio de sesión, y ssh no publica en otros programas nada que indique si la clave pública, la contraseña o algún otro mecanismo se utilizó para iniciar sesión.
Como alguien más dijo, puede usar la opción NOPASSWD en sudoers; esto se aplicaría siempre a usuarios específicos, no solo cuando usan ssh con claves privadas.
Si realmente lo desea, puede haber trucos que puede hacer con un programa suid que verifica el registro sshd y bloquea / edita el archivo sudoers para permitir que el usuario realice un sudo sin contraseña y una tarea periódica para revocar este permiso.
Dicho todo esto, creo que es una mala idea. Requerir una contraseña para comandos privilegiados tiene un par de buenos beneficios que la clave privada SSH no tiene. En particular, le permite tener tiempos de espera para la autenticación (se debe volver a ingresar la contraseña, no es cierto para las sesiones ssh), le permite tener mínimos de contraseña y rotación (a diferencia de las claves ssh, que tienen una frase de contraseña fuera del control del servidor).