2 votes

Forcer l'utilisateur ssh à un Shell différent via la configuration

Est-il possible dans la configuration d'openssh-server, de forcer un sous-ensemble d'utilisateurs à utiliser un Shell différent de celui défini pour eux dans /etc/passwd ?

Supposons que je veuille, par exemple, limiter à git-Shell tous les utilisateurs se connectant depuis l'extérieur d'une certaine plage d'IP ?

3voto

muru Points 180007

Vous pourriez utiliser un ForceCommand ainsi que Match :

Match Address 10.1.0.0/16
    ForceCommand /usr/bin/git-shell

De man sshd_config :

 Match   Introduces a conditional block.  ...
         The arguments to Match are one or more criteria-pattern pairs or
         the single token All which matches all criteria.  The available
         criteria are User, Group, Host, LocalAddress, LocalPort, and
         Address.
 ForceCommand
         Forces the execution of the command specified by ForceCommand,
         ignoring any command supplied by the client and ~/.ssh/rc if
         present.  The command is invoked by using the user's login shell
         with the -c option.

Ainsi, la commande que vous spécifiez serait exécutée à l'aide du login de l'utilisateur Shell, qui doit accepter l'attribut -c option. La connexion est fermée lorsque la commande se termine, donc à toutes fins pratiques, cette commande est leur Shell.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X