Execute um comando sudo NOPASSWD remotamente via SSH

4

Eu tenho um sistema Linux remoto que eu posso conectar via ssh e chave pública e, em seguida, execute o seguinte comando:

sudo jetty restart

Este comando neste sistema está configurado para permitir que qualquer pessoa execute sem a senha do sudo. Ou seja o arquivo sudoers provavelmente se parece com algo assim

%develop ALL = NOPASSWD: /opt/scripts/jetty

Isso é ótimo, pois podemos executar esse script com privilégios elevados, mantendo todo o resto bloqueado. O problema é ao tentar executar este comando remotamente, sempre me perguntam a senha do sudo.

me@home:~$ ssh -t -i ~/.ssh/identity [email protected] 'sudo jetty restart'
Password: .....? (I don't have the sudo password!)

Existe uma maneira de executar este comando remotamente?

    
por Alex Spurling 10.09.2010 / 11:22

1 resposta

2

Certifique-se de que sudo esteja escolhendo o comando correto; se houver um /usr/bin/jetty ou algo parecido, a regra de sudoers não corresponderá. (Observe que ~/.bashrc e esses arquivos são ignorados ao usar ssh <host> <command> , portanto, as personalizações de $PATH nunca acontecem.)

sudo /opt/scripts/jetty restart deve funcionar.

    
por 10.09.2010 / 17:25

Tags