有什么方法可以向后台进程或作为守护进程运行的进程提供输入?
我正在编写一些 Puppet 配置文件,并且必须将它们推送到某些远程计算机。为此我使用了 git。
因此,我在该远程计算机上创建了一个裸存储库,并使用了 git hook,它会在每次推送后更新文件。因此,要更新/etc/puppet
服务器计算机,我需要以该计算机的 root 身份进行身份验证...但 git 本质上是通过 SSH 进行此传输(在后台)。
我尝试使用/bin/expect
为远程计算机的根提供用户名和密码,但它不起作用。
答案1
尽管这并不能完全回答您提出的问题,但您向我们提供了一个XY问题。
你真正问题的答案是设置 SSH 密钥。
- 在客户端
ssh-keygen
以将执行操作的用户身份运行。 - 将内容复制
id_rsa.pub
到~/.ssh/authorized_keys
服务器上。 - 确保
~/.ssh/
服务器上的模式为 0700。
您将不再需要输入密码即可连接。