A melhor prática é NÃO usar senha. Você deve sempre usar as chaves para autenticar.
Mas você não é capaz de impedir o uso da senha ou da chave se ela estiver escrita como texto simples em algum código. Embora você possa limitar o uso da chave muito bem. Em authorized_keys
on server, você pode simplesmente especificar o comando permitido para ser executado pela chave, o que impedirá que qualquer pessoa que possua a chave tenha acesso ao shell.
Exemplo de linha em ~/.ssh/authorized_keys
:
no-port-forwarding,no-pty,no-X11-forwarding,command="your_limited_command" ssh-rsa AAAA[...]==
Uma descrição mais detalhada das opções pode ser encontrada na página de manual de sshd
.