sudo:没有tty present,也没有askpass程序

我试着一起启动了一点,但是当我想部署我的node.js应用程序,我得到这个过程中:

$ 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) 

你知道如何摆脱这个? 我在远程机器上使用Debian 6。

谢谢

ssh <host> <command>尝试在没有任何交互的情况下在主机上运行命令。 在你的情况下, sudo需要一个密码,它不能得到,因为它不是一个交互式会话。 如果你真的想要这样做,configurationsudo接受你而不要求密码。

编辑:另外, ssh <host> <command1> && <command2>将在本地机器上运行command2,而不是在远程机器上运行。

尝试ssh -t ,这会在运行命令时强制进行TTY分配。 这对于sudo来说已经足够了,至less在我的Mac上尝试SSH命令进入我的Ubuntu boxen时就足够了。