Você está realmente falando sobre duas coisas diferentes. Configurar o SSH para fazer somente autenticação baseada em chave faz parte da configuração do sshd, e o sudo (sem senha ou não) é manipulado pelo pam. O que você realmente deveria estar fazendo é isto:
Configurar o SSHD para permitir somente a autenticação de chave SSH
Edite seu /etc/ssh/sshd_config
para modificar e / ou adicionar conforme necessário o seguinte
PubkeyAuthentication yes
PasswordAuthentication no
Em seguida, reinicie o sshd
service.
Configurando o sudo
Você vai querer escolher o seu grupo sudo e modificar o arquivo sudoers, usando o comando visudo
e adicionar algo assim.
%wheel ALL=(ALL) ALL
Isso permitirá que todos no grupo wheel executem qualquer comando como qualquer usuário. Note que eles precisarão digitar uma senha para fazer isso. Por padrão, a maioria das distribuições os faz digitar sua própria senha, mas às vezes o sudo é configurado para que eles digitem a senha de destino.
Como alternativa, você pode configurar o sudo para não solicitar uma senha. Eu não recomendo isso, exceto no caso de ações automatizadas realizadas por contas de serviço. Nessa situação você pode especificar somente a conta de serviço pode executar somente um comando específico. No entanto, você é mais do que capaz de remover o requisito de senha sudo, alterando a linha acima para algo como:
%wheel ALL=(ALL) NOPASSWD: ALL