部署 capistrano 在部署项目时出现"sorry, you must have a tty to run sudo “怎么处理呢?

lb563 · 2012年02月15日 · 最后由 pzgz 回复于 2012年02月16日 · 3288 次阅读

capistrano 部属一项目,当执行到”sudo xx/xx/xx/nginx -s reload“时出现”sorry, you must have a tty to run sudo“这个问题说明什么呢? ps: 操作系统是 centos 5 我也在网上找到一些方法,例如: http://blog.csdn.net/chinalinuxzend/article/details/3747299 http://www-01.ibm.com/support/docview.wss?uid=swg21567671 也照做了。但是没有起作用,反而在部属的时候要我输入:Password: 。有类似的情况吗?

提示 "xxx run sudo"

#config/deploy.rb
set :use_sudo, false

部署的时候要输入 password 服务端~/.ssh/authorized_keys加入公钥

我也配置了:set :use_sudo, false 而且:服务端也加入了公钥 但是问题还是那样的

default_run_options[:pty] = true

我记得我是这么解决的:

在/etc/sudoers 中找Defaults requiretty,然后 comment 掉

需要 登录 后方可回复, 如果你还没有账号请 注册新账号