O resposta do jasonwryan será o caminho certo para fazer essa mudança. A única adição que gostaria de fazer é que você poderia definir a correspondência para ser baseada em grupo, de modo que qualquer usuário no grupo wheel fosse obrigado a usar autenticação de chave, enquanto outros poderiam usar senhas.
Eu sei que você quer fazer isso sem alterar os arquivos de configuração do sistema, mas há uma boa razão para isso não ser possível. Em sua cabeça, faz sentido que seu usuário possa instituir uma política de login mais segura, mas só porque em sua mente é uma opção mais segura não muda o fato de que ainda é uma mudança nos requisitos de login do sistema para um usuário remoto.
Para entender por que isso é um problema, imagine o cenário ao contrário. O administrador do sistema (que pode alterar os arquivos de configuração do sistema) configura o sistema apenas para login baseado em chave. Em seguida, algum usuário aparece e apenas acessa seu próprio arquivo de usuário e configura sua conta para permitir a autenticação de senha, substituindo a diretiva do sistema. BEEEEEEP . Problema de segurança!
Isso explica por que o tipo de mudança que você quer fazer só é possível a partir do arquivo de configuração do sistema?