Это невозможно без серьезных изменений кода в sudo и sshd. Sudo не знает о методах входа в систему, и ssh не публикует в других программах ничего, что указывало бы, использовался ли для входа открытый ключ, пароль или какой-либо другой механизм.
Как кто-то еще сказал, вы можете использовать опцию NOPASSWD в sudoers - это будет применяться к указанным пользователям всегда, но не только, когда они используют ssh с закрытыми ключами.
Если вы действительно хотите, может быть трюки, которые вы можете сделать с Suid программой, которая проверяет журнал SSHD и замки / редактирует файл sudoers, чтобы позволить этому пользователю делать не-пароль Sudo и периодической задачи отозвать это разрешение.
Все, что сказал, я думаю, что это плохая идея. Запрос пароля для привилегированных команд имеет несколько приятных преимуществ, которых нет у закрытого ключа SSH. Примечательно, что позволяет иметь время ожидания для AUTH (пароль должен быть повторно введен, не верно для SSH сессий), это позволяет иметь пароль минимумы и вращение (в отличие от SSH ключей, которые имеют ключевую фразу вне контроля сервера).