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