Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js sudo:不存在tty,也未指定askpass程序_Node.js_Deployment_Debian_Jake - Fatal编程技术网

Node.js sudo:不存在tty,也未指定askpass程序

Node.js sudo:不存在tty,也未指定askpass程序,node.js,deployment,debian,jake,Node.js,Deployment,Debian,Jake,我尝试了一点,但当我想部署我的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

我尝试了一点,但当我想部署我的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
在没有任何交互的情况下尝试在主机上运行该命令。在您的情况下,
sudo
需要一个密码,但由于它不是交互式会话,因此无法获取该密码。如果您真的想要这样做,请将sudo配置为无需密码即可接受您


编辑:另外,
ssh&&
将在本地计算机上运行command2,而不是在远程计算机上。

尝试
ssh-t
,这将在运行命令时强制TTY分配。这对于
sudo
来说已经足够好了,至少在我的Mac上,当我尝试将命令SSH到我的Ubuntu boxen中时是这样

有没有一种方法可以从/etc/init.d/启动服务而不用root或使用sudo?也许只适合这个特殊的用户?我真的不希望任何用户在不要求密码的情况下允许使用sudo..您可以允许给定用户使用给定命令作为具有无密码sudo的给定其他用户(请阅读:您不必为每个人都提供无密码sudo;您甚至可以限制一个允许无密码sudo的用户的操作);这仍然有一些安全隐患(例如,用户可能获得完整的根权限),但现在他们也可以通过“sudobash”实现这一点(尽管他们必须提供密码)