systemadmin.es > Seguridad > Forzar la ejecución de un determinado comando por SSH

Forzar la ejecución de un determinado comando por SSH

Las enormes posibilidades de SSH hacen que también luego sea un dolor de cabeza para restrigir su uso. En el caso que un determinado usuario únicamente pueda ejecutar un determinado comando, deberemos restringir también los comandos que se pasan a ssh

Mediante ssh podemos pasar comandos a ejecutar en el servidor remoto, por ejemplo

ssh root@1.2.3.4 comando

En el caso que queramos definir que un determinado usuario únicamente pueda ejecutar un comando, deberemos usar la directiva ForceCommand en el fichero /ectc/ssh/sshd_config. La combinamos con Match para especificar a que usuario afecta:

Match User test
ForceCommand /bin/ps

Una vez reiniciado el sshd, podemos comprobar que al conectar se ejecutará el comando y no podremos ejecutar otro ni pasándolo como opción al conectar:

$ ssh 1.2.3.4 -l test
test@1.2.3.4's password: 
  PID TTY          TIME CMD
 2062 pts/2    00:00:00 ps
Connection to 1.2.3.4 closed.
$ ssh 1.2.3.4 -l test pwd
test@1.2.3.4's password: 
  PID TTY          TIME CMD
 2071 ?        00:00:00 sshd
 2072 ?        00:00:00 ps

One comment to “Forzar la ejecución de un determinado comando por SSH”

  1. Hay un pequeño error pone /ectc/ssh/sshd_config en lugar de /etc/ssh/sshd_config. Por cierto, muy bien explicado.

Deja un comentario:

XHTML - Tags permitidos:<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>