
Estou tentando evitar que um script seja invocado remotamente. O usuário precisa fazer login SSH primeiro e depois executar o script
ssh remote-server "script.sh"
deveria falhar
ssh remote-server
e após o login
./script.sh
deve funcionar
Posso alterar a propriedade e aplicar chmod
, mas o usuário remoto pode usarssh remote-server "sudo -u newuser ./script.sh"
Usando instância AWS EC2
Responder1
Executar ssh foo@remote-server
seguido por ./script.sh
é equivalente a executar ssh foo@remote-server ./script.sh
e executar ssh foo@remote-server
seguido por sudo -u bar ./script.sh
é equivalente a ssh foo@remote-server sudo -u bar ./script.sh
(exceto sudo
que pode falhar porque precisa de um TTY, que pode ser contornado facilmente). Receio que o que você está perguntando não faça sentido. Qualquer coisa que você fizer para contornar essa diferença artificial, como testar a presença de $TERM
ou, [ -t 0 ]
provavelmente será facilmente contornada.