我正在尝试使用 bash 脚本将名为 cloudamize 的代理安装到我们的 Linux 机器上。此过程有两个命令:
export CLOUDAMIZE_CUSTOMER_KEY=<my_customer_key>
bash < <(curl -s https://agentmanager1.cloudamize.com/cxf/downloadFile/installCloudamizeAgentV2.sh)
但这些命令需要 root 权限才能执行。sudo 命令不起作用。所以我应该通过 ssh 连接到客户端并成为 root,然后运行这些命令。因此,以下命令也不起作用:
for host in $(cat hostlist)
do
ssh my_user@$host "\
export CLOUDAMIZE_CUSTOMER_KEY=<my_customer_key>;\
bash < <(curl -s https://agentmanager1.cloudamize.com/cxf/downloadFile/installCloudamizeAgentV2.sh)"
done
在 bash 脚本中运行这 2 个命令之前,我如何才能成为 root?或者还有其他方法可以做到这一点?因为 sudo -i 或 su 在 bash 脚本中不起作用。
答案1
你能试试这个吗
ssh -t my_user@$host 'sudo command'
或这个?
ssh my_user@$host su -c "command"