Tengo el servidor A y el servidor B (ambos Ubuntu 10.04 LTS) haciendo diferentes tareas. El servidor A necesita empujar el servidor B, que genera un archivo y lo devuelve al servidor A cuando termina. Todo esto es interno y no me preocupan demasiado los problemas de seguridad. El intercambio de claves SSH ya se realiza entre los servidores A y B y funciona bien.
En el servidor B, el script se generateOfflineSigve así
#!/bin/bash
echo "in script"
sudo apt-offline set offline_package.sig --install-packages "$0"
echo "after sudo"
scp offline_package.sig jeff@servera:/tmp
También en el servidor B, visudo tiene esta entrada:
jeff ALL=NOPASSWD: ALL
Lo que funciona si ejecuto sudo lsen el Servidor B ... no se solicita contraseña.
Lamentablemente, SSH siempre solicita una contraseña en el servidor A:
jeff@servera:~$ ssh -t jeff@serverb /home/jeff/generateOfflineSig "incron"
in script
[sudo] password for jeff:
¿Algunas ideas? Este proceso no puede ser interrumpido por la entrada de contraseña.

/etc/sudoerssintaxis, pero mi archivo tiene la línea# %wheel ALL=(ALL) NOPASSWD: ALL. Tal vez tu línea debería serjeff ALL=(ALL) NOPASSWD: ALL?Respuestas:
Parece que tenía un "error tipográfico" en el
/etc/sudoersarchivo ...jeff ALL=NOPASSWD: ALLnecesitaba estar al final del archivo. La Ayuda de Ubuntu solo dice Agregar (...) al FIN del archivo (si no al final puede anularse mediante entradas posteriores)
Después de eso, nunca se le pide a la contraseña los "comandos sudo de jeff, ya sea localmente o por SSH.
fuente