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