Je suppose que
-
soit vous voulez limiter l’usage de certaines commandes privilégièes, pas l’usage des commandes habituelles ( ls, …)
-
soit vous voulez être encore plus strict et ne permettre l’usage que d’un nombre limité de commandes bien définies.
Dans le premier cas, vous créez un simple utilisateur, et vous définissez dans le fichier sudoers la liste limitative des commandes (privilégiées) que cet utilisateur pourra lancer vis sudo.
Le deuxième cas est semblable à ce qui est utilisé en interne dans des logiciels de sauvegarde entre systèmes, ou dans le paquet gitolite3 : on utilise le fait qu’on peut créer des clés ssh qui embarquent une commande bien précise sur le serveur.
Vous pouvez vous inspirer de ce qui est fait dans gitolite, lorsque sur le poste client je lance
ssh gits@drhpcmss info
c’est un shell spécial qui est lancé sur le serveur, en tant qu’utilisateur git. Voir le programme perl /usr/share/gitolite3/gitolite-shell
Naturellement c’est une solution luxueuse à votre problème qui demande un effort de configuration 
Sur votre serveur, le fichier ~/.ssh/authorized_keys
de votre simple utilisateur peut se présenter sous la forme
command="/path/to/cmd arg1 argg2",no-port-forwarding,no-pty ssh-rsa AAAAB3NzaC1ycXXXXXXX commentaire
avec un large choix d’options pour la connexion SSH qui ne fera que lancer la commande spécifiée au lieu de proposer un shell.
Cordialement,
Regards,
Mit freundlichen Grüßen,
مع تحياتي الخالصة
F. Petitjean
Ingénieur civil du Génie Maritime.
« Moi, lorsque je n’ai rien à dire, je veux qu’on le sache. » (R. Devos)