Se a execução do script for a única única que você deseja que os outros usuários façam, use as chaves ssh.
Cada usuário deve ter sua própria chave ssh, para que você não fique incomodado quando alguém não precisar mais de acesso. A parte pública da chave deve ser colocada em
~scriptuser/.ssh/authorized_keys
e na frente da chave real, você deve adicionar o texto command="/path/to/script"
Veja um exemplo:
from="10.23.5.32",no-port-forwarding,no-X11-forwarding,no-agent-forwarding,no-pty,command="/path/to/script" ssh-dss A........
Isso limita o endereço IP a partir do qual essa chave pode ser usada, e limita o tipo de encaminhamento que pode ser feito, e garante que nenhum pty possa ser concedido ao usar essa chave, e sempre que o usuário se conectar com essa chave então o script será executado e nada mais poderá acontecer.
Para adicionar uma variável de ambiente, basta adicioná-la também à chave:
from="10.23.5.32",environment="MYVARIABLE=whatever",no-port-forwarding,no-X11-forwarding,no-agent-forwarding,no-pty,command="/path/to/script" ssh-dss A........
No entanto, para que isso funcione, você precisa ter a diretiva PermitUserEnvironment
definida como "yes" no arquivo de configuração sshd. Se você não conseguir fazer isso, altere a linha para isso:
from="10.23.5.32",no-port-forwarding,no-X11-forwarding,no-agent-forwarding,no-pty,command="export MYVARIABLE=whatever; /path/to/script" ssh-dss A........