sudo: no hay tty presente y no se ha especificado ningún programa askpass

Lo intenté jake Junto con lanzamiento un poco, pero cuando quiero implementar mi aplicación node.js, obtengo esto durante el proceso:

$ ssh mydomain.com sudo stop site.WebApp-production && sudo start site.WebApp-production
sudo: no tty present and no askpass program specified

✘  Failed to restart site

jake aborted.
Error
  at fail (/usr/local/lib/node_modules/jake/lib/api.js:235:13)
  at /Users/udo/Projects/WebApp/Jakefile.coffee:31:16
  at ChildProcess.exports.remote (/Users/udo/Projects/WebApp/node_modules/launch/lib/action.js:39:5)
  at ChildProcess.EventEmitter.emit (events.js:91:17)
  at Process._handle.onexit (child_process.js:674:10)

¿Sabes cómo deshacerte de esto? Estoy usando Debian 6 en mi máquina remota.

Muchas Gracias

preguntado el 31 de julio de 12 a las 12:07

2 Respuestas

Trata ssh -t, que fuerza la asignación de TTY al ejecutar un comando. Eso es lo suficientemente bueno para sudo, al menos en mi Mac cuando intento enviar comandos SSH a mi caja de Ubuntu.

Respondido 17 Oct 12, 23:10

ssh <host> <command> intenta ejecutar el comando en el host sin ninguna interacción. En tu caso, sudo necesita una contraseña, que no puede obtener porque no es una sesión interactiva. Si realmente quieres esto, configura sudo para que te acepte sin pedir una contraseña.

Editar: también, ssh <host> <command1> && <command2> ejecutará command2 en la máquina local, no en la máquina remota.

Respondido 31 Jul 12, 13:07

¿Hay alguna manera de iniciar un servicio desde /etc/init.d/ sin ser root o usar sudo? ¿Quizás solo para este usuario especial? Realmente no quiero que ningún usuario permita usar sudo sin pedir la contraseña.. - opticafluffel

puede permitir que un usuario dado use un comando dado como otro usuario dado con sudo sin contraseña (léase: no tiene que dar sudo sin contraseña a todos; incluso puede restringir el único usuario que tiene permitido sudo sin contraseña en lo que pueden hacer); esto todavía tiene algunas implicaciones de seguridad (por ejemplo, que el usuario puede obtener todos los privilegios de root), pero en realidad también pueden hacerlo ahora mismo con "sudo bash" (aunque tienen que proporcionar su contraseña) - umläute

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.