我尝试以root用户身份在多个远程服务器上运行本地脚本。我没有su来根除那些,但只是可以使用sudo运行root命令。到目前为止我试过了:
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身份运行此脚本并且不为每个主机单独键入密码的正确方法是什么?
答案 0 :(得分:-1)
好的,那你为什么要回复mypassword&#34; ?
您是否无法使用NOPASSWD
将您的SSH帐户添加到sudoers文件中?
来自man sudoers
:
authenticate If set, users must authenticate themselves via a password (or other means
of authentication) before they may run commands. This default may be
overridden via the PASSWD and NOPASSWD tags. This flag is on by default.