如何通过管道以编程方式使用 sudo?

Sod*_*hty 2 ruby ssh sudo tty

我正在尝试编写一个程序来执行系统的远程管理。为此,我发出 SSH 命令并通过管道以编程方式提供输入。我还捕获了他们的输出。

一些命令需要提升,所以我需要发出诸如ssh user@host "sudo apt-get install blah".

问题是,sudo除非在其标准输入上找到真正的终端,否则拒绝通过终端直接接受密码。有什么办法可以sudo让我愚蠢地允许这样做吗?

sep*_*eph 5

在这里找到:https : //askubuntu.com/questions/470383/how-to-avoid-prompt-password-for-sudo

echo 'password' | sudo -S command
Run Code Online (Sandbox Code Playgroud)

-S 接受来自标准输入的密码