【发布时间】:2016-08-21 17:19:24
【问题描述】:
我正在尝试编写一个程序来执行系统的远程管理。为此,我发出 SSH 命令并通过管道以编程方式提供输入。我还捕获了他们的输出。
有些命令需要提升,所以需要发出ssh user@host "sudo apt-get install blah"等命令。
问题是,sudo 拒绝直接通过终端接受密码,除非它在其标准输入上找到 真正的终端。有什么方法可以让sudo 允许这样做吗?
【问题讨论】:
我正在尝试编写一个程序来执行系统的远程管理。为此,我发出 SSH 命令并通过管道以编程方式提供输入。我还捕获了他们的输出。
有些命令需要提升,所以需要发出ssh user@host "sudo apt-get install blah"等命令。
问题是,sudo 拒绝直接通过终端接受密码,除非它在其标准输入上找到 真正的终端。有什么方法可以让sudo 允许这样做吗?
【问题讨论】:
在这里找到:https://askubuntu.com/questions/470383/how-to-avoid-prompt-password-for-sudo
echo 'password' | sudo -S command
-S 接受来自标准输入的密码
【讨论】: