Note que desabilitar o sftp em uma escala de todo o sistema é provavelmente sem valor, já que o sftp se torna completamente indisponível para todas as outras tarefas possíveis (usando o design atual e o design futuro). O melhor design (mantendo a flexibilidade de longo prazo) é provavelmente controlar as permissões de "gravação" de certos dados (conforme observado pela primeira solução de Melhor solução multi-solução de Martin Prikryl ).
Eu escolho não duplicar (ou tentar completar) a melhor resposta de solução múltipla de Martin Prikryl, que não envolve a mudança do arquivo sshd_config nem o recarregamento do serviço.
No entanto, por uma questão de educação / familiaridade, vou compartilhar outra opção.
without having to change the sshd_config file and reload the service?
Você pode alterar o arquivo sshd_config, mas não recarregar o serviço. (Então, conforme solicitado, você não está fazendo os dois.)
Em seguida, envie um SIGHUP para o serviço pai sshd. (Certifique-se que é o pai: SIGHUPping outro serviço sshd pode matar uma conexão.) A maneira fácil de identificar qual processo é o pai pode ser usar um arquivo PID.
por exemplo, se o sshd estiver criando este arquivo pid:
sudo kill -HUP $( sudo cat /var/run/sshd.pid )
(O nome / localização padrão do arquivo PID pode variar entre diferentes sistemas operacionais.)
SIGHUPping the parent fará com que o sshd recarregue o arquivo de configuração (porque é assim que o sshd foi projetado). Observe que isso pode não parar nenhuma sessão sftp em execução no momento (e modificar o arquivo binário no disco também pode não fazer isso), portanto, certifique-se de que ela seja manipulada antes de passar para o processo sensível que não pode ter o sftp.