Métodos como a criação do arquivo /etc/nologin , a configuração de shells de login da conta em /bin/false ou /sbin/nologin efetivamente desativa as contas de usuário do login em um shell interativo, mas não protege o sistema.
Se você quiser restringir especificamente um usuário a usar apenas scp ou sftp , instale um shell restrito projetado para fazer exatamente isso. O pacote rssh é um shell restrito projetado para funcionar com o OpenSSH.
: rssh is a restricted shell for use with OpenSSH, allowing only scp
: and/or sftp. For example, if you have a server which you only want
: to allow users to copy files off of via scp, without providing shell
: access, you can use rssh to do that. It is a alternative to scponly.
Você deve considerar seriamente definir um chroot para os usuários que fizerem login com o shell rssh restrito.
Leia e entenda as implicações de segurança de restringir usuários de tal maneira. Comece com as man páginas para rssh e rssh.conf . Você também deve entender o que chroot é e como funciona .