Evitar que o arquivo de script invoque remotamente usando o SSH

0

Estou tentando impedir que um script seja chamado remotamente. O usuário precisa fazer o login SSH primeiro e depois executar o script

ssh remote-server "script.sh" deve falhar

ssh remote-server e após o login ./script.sh deve funcionar

Eu posso alterar a propriedade e aplicar chmod , mas o usuário remoto pode usar ssh remote-server "sudo -u newuser ./script.sh"

Usando a instância do AWS EC2

    
por AJK 07.07.2017 / 11:36

1 resposta

2

A execução de ssh foo@remote-server seguido por ./script.sh equivale à execução de ssh foo@remote-server ./script.sh e a execução de ssh foo@remote-server seguido por sudo -u bar ./script.sh é equivalente a ssh foo@remote-server sudo -u bar ./script.sh (exceto sudo pode falhar porque precisa de um TTY, que pode ser trabalhado facilmente). Por isso, receio que o que você está perguntando não faça sentido. Tudo o que você fizer para contornar essa diferença artificial, como testar a presença de $TERM ou [ -t 0 ] , provavelmente é facilmente contornado.

    
por 07.07.2017 / 12:50

Tags