A resposta de jasonwryan será o caminho certo para fazer essa alteração. A única adição que eu faria é que você poderia definir a correspondência para ser baseada em grupo, para que qualquer usuário do grupo de roda fosse obrigado a usar autenticação de chave, enquanto outros poderiam usar senhas.
Sei que você deseja fazer isso sem alterar os arquivos de configuração do sistema, mas há um bom motivo para isso não ser possível. Na sua opinião, faz sentido que o usuário possa instituir uma política de login mais segura, mas apenas porque, em sua opinião, é uma opção mais segura não muda o fato de ainda haver uma alteração 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) define 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 define sua conta para permitir a autenticação de senha, substituindo a política do sistema. BEEEEEEP . Problema de segurança!
Isso explica por que o tipo de alteração que você deseja fazer só é possível no arquivo de configuração do sistema?