Existe uma opção comando no arquivo authorized_keys. Esta opção parece fazer exatamente o que você quer.
Note que não é um shell chroot ou restrito. Está permitindo executar apenas esses comandos via ssh. Com o seu exemplo, seria:
ssh somehost /local/remote_only_scripts/foo
Para este arquivo authorized_keys:
command="/local/remote_only_scripts/foo",no-port-forwarding,no-X11-forwarding,no-agent-forwarding,no-pty ...public key...
Há muitas formas de se você não quiser que seu usuário possa fazer login localmente. Você pode:
- simplesmente defina seu shell como / bin / false (talvez você precise de / bin / true pois o ssh precisa de um login válido)
- bloquear sua senha, consulte
passwd -l
EDIT : adicionou mais opções de restrição e esclareceu como você remove o acesso local.