Tag: sudoers

输入密码后,Net :: SSH sudo命令挂起

我一直在尝试使用Thor编写一个小型库来帮助我快速创建新项目和站点。 我写了这个小方法: def ssh(cmd) Net::SSH.start( server_ip, user, :port => port) do |session| session.exec cmd end end 在需要时帮助我在远程服务器上运行快速命令。 问题是,当我需要在远程端的sudo下运行命令时,脚本似乎挂在我身上。 例如,当执行此…时 ssh(“sudo cp #{file_from_path} #{file_to_path}” ) 该脚本将提示我输入密码 [sudo] password for user: 但是输入之后整个事情就变成了笨蛋。 有人会碰巧知道为什么它会完全挂起,以及我可以做些什么来在Net :: SSH(或其他替代方案)下的远程服务器上运行sudo命令? *注意:在建议之前,我最初开始将这个库作为Capistrano下的食谱编写,直到我遇到Thor,并认为这是一个尝试它的好机会。 如果需要的话,我不反对将整个事情切换回Capistrano,但如果没有一种简单的方法在远程服务器上运行sudo命令,我会感到非常惊讶。