我正在尝试编写一个程序来执行系统的远程管理。为此,我发出SSH命令并通过管道以编程方式提供输入。我也捕捉他们的输出。
某些命令需要提升,因此我需要发出ssh user@host "sudo apt-get install blah"
等命令。
问题是,sudo
拒绝通过终端接受密码的空白,除非它在其stdin上找到真实终端。有什么方法可以欺骗sudo
允许这个吗?
答案 0 :(得分:3)
在此处找到:https://askubuntu.com/questions/470383/how-to-avoid-prompt-password-for-sudo
echo 'password' | sudo -S command
-S接受来自stdin的密码