我怎样才能通过远程链接命令sudo?

我试图运行一个脚本,在远程服务器上的另一个用户下执行一系列命令。 该脚本包含以下ssh命令以返回有关远程用户的Drupal安装的信息。 我的sudoers用户的公钥就位并正常工作。

下面的例子不起作用,只是停止没有任何输出:

$ssh [email protected] "sudo -u another_user -s;cd ~/htdocs;drush status;" 

当我在控制台中手动input链接命令时,它工作正常。

我也得到了很好的结果:

 $ssh [email protected] "ls -al /var/www/vhosts/" 

请告诉我出错的地方。 谢谢。

默认情况下,sudo需要交互式密码authentication。 您需要以sudoers_user的身份loginssh,或者您需要在sudoers中为该源/目标用户对使用NOPASSWD:修饰符。