Minha solução foi seguir o comentário de Kenneth e configurar lshell - foi muito fácil e rápido de fazer.
- Executar
sudo apt install lshellpara obterlshell - Crie um grupo do UNIX (por exemplo,
sudo groupadd testgroup) - Adicionar usuário (s) necessário (s) ao seu grupo (por exemplo,
sudo usermod -a -G testgroup username) - Adicione também o (s) usuário (s) ao grupo
lshell(por exemplo,sudo usermod -a -G lshell username) - Edite
/etc/lshell.confcom a configuração desejada (veja abaixo) - Defina
lshellcomo o shell padrão para o (s) usuário (s) (por exemplo,chsh -s /usr/bin/lshell username)
Com a configuração abaixo, testuser só pode executar script.py após o login através do SSH. Eles não podem se conectar ao SCP / SFTP ou navegar na estrutura de arquivos através do shell.
[grp:testgroup]
login_script : "python /some/path/script.py"
path : "/some/path/"
forbidden : ["ls", "echo", "cd"]
scp : 0
sftp : 0