
Estoy intentando evitar que se invoque un script de forma remota. El usuario debe iniciar sesión SSH primero y luego ejecutar el script
ssh remote-server "script.sh"
debería fallar
ssh remote-server
y después de iniciar sesión
./script.sh
debería funcionar
Puedo cambiar la propiedad y presentar la solicitud chmod
, pero luego el usuario remoto puede usarssh remote-server "sudo -u newuser ./script.sh"
Usando la instancia AWS EC2
Respuesta1
Ejecutar ssh foo@remote-server
seguido de ./script.sh
es equivalente a ejecutar ssh foo@remote-server ./script.sh
y ejecutar ssh foo@remote-server
seguido de sudo -u bar ./script.sh
es equivalente a ssh foo@remote-server sudo -u bar ./script.sh
(excepto sudo
que puede fallar porque necesita un TTY, que se puede solucionar fácilmente). Entonces me temo que lo que preguntas no tiene sentido. Cualquier cosa que haga para solucionar esta diferencia artificial, como probar la presencia de $TERM
o, [ -t 0 ]
probablemente pueda solucionarse fácilmente.