【发布时间】:2017-07-27 01:28:32
【问题描述】:
我尝试以 root 身份在多个远程服务器上运行本地脚本。我没有 su 来根这些,但可以使用 sudo 运行根命令。到目前为止,我尝试过:
for host in $(cat hosts_list); do ssh -tt $host "echo mypassword | sudo bash -s" < ./myscript.sh
在 myscript.sh 中有类似的东西:
echo "test test123" >> /etc/tests
exit 0
但它看起来不起作用并且不会更改文件。以 root 身份运行此脚本且无需为每个主机分别输入密码的正确方法是什么?
【问题讨论】:
-
我认为这更适合ServerFault
-
我相信这是一个纯粹的 shell 脚本问题。
-
尝试
sudo echo "PermitRootLogin yes" >> /etc/ssh/sshd_config然后sudo service ssh restart -
作为建议,你可以看看 ansible docs.ansible.com,我认为它完全符合你的目的。