我如何通过远程链式命令使用 sudo?

我如何通过远程链式命令使用 sudo?

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

以下示例不起作用并且只是停止而没有任何输出:

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

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

我也确实取得了良好的结果:

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

请指出我哪里做错了。谢谢。

答案1

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

相关内容