当提示输入SUDO密码到Ubuntu盒时,Capistrano挂起

我有一个capistrano部署配方,我一直在使用一段时间来部署我的网络应用程序,然后使用sudo命令重新启动apache / nginx。当我尝试执行这些sudo命令时,最近cap部署是挂起的。我看到输出:
“[sudo]密码为”
使用我的服务器名称和远程登录,但这不是一个安全的登录提示。帽壳只是挂起等待更多的输出,不允许我键入我的密码来完成远程sudo命令。

有没有办法解决这个或一个体面的工作?我不想删除我的远程用户的sudo密码提示,重新启动命令。

最佳答案
当连接到CentOS机器时,似乎也会发生这种情况。在您的capistrano部署文件中添加以下行:

default_run_options[:pty] = true

还要确保使用sudo帮助器,而不是直接在运行命令中执行sudo。例如:

# not
run "sudo chown root:root /etc/my.cnf"

# but
sudo "chown root:root /etc/my.cnf"

转载注明原文:当提示输入SUDO密码到Ubuntu盒时,Capistrano挂起 - 代码日志