Il est parfois bien pratique de pouvoir cantonner un utilisateur à un petit programme ou script lorsqu'il se connecte à une session utilisateur via SSH sur un serveur Linux/BSD/Unix.
OpenSSH offre la possibilité d'empêcher qu'un utilisateur puisse accéder à un shell, et permet de l'enfermer dans l'exécution d'un script.
Pour ce faire, vous pouvez utiliser l'option command dans le fichier ~/.ssh/authorized_keys.
Voici comment procéder :
Créez un script (par exemple /chemin/vers/votre_script.sh) qui contient les instructions que vous souhaitez exécuter lorsque l'utilisateur se connecte.
Par exemple :
#!/bin/bash
echo "Bienvenue ! Vous exécutez ce script automatiquement à la connexion."
# Si vous créez ici un petit menu avec des choix, l'utilisateur sera enfermé dans le script,
# sans possibilités d'en sortir sans rompre la connexion SSH.
chmod +x /chemin/vers/votre_script.sh
Dans le fichier ~/.ssh/authorized_keys de l'utilisateur concerné, ajoutez une ligne similaire à celle-ci (ou modifiez la ligne existante si la clé est déjà présente) :
command="/chemin/vers/votre_script.sh",no-pty,no-port-forwarding,no-X11-forwarding ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCy...
Ces options sont très utiles pour restreindre davantage l'accès et éviter l'utilisation détournée du compte.