在没有 root 凭据的情况下使用 ssh 和 sudo 附加 crontab

Appending crontab using ssh and sudo without root credentials

我有两台服务器,比如服务器 A 和服务器 B。我有一个 sudo 用户,比如 user1 在服务器 A 和 B 上具有完全权限。我正在尝试将 root 的 crontab 条目从服务器 A 附加到服务器 B以下命令。但它附加在 A 上。我需要将它附加在服务器 B 上。

请在服务器 A 上找到我 运行 下面的命令,它应该登录到服务器 B 并附加 B 的 crontab 条目。而不是仅附加到 A。

/usr/bin/sshpass -p 'password' /usr/bin/ssh -o StrictHostKeyChecking=no -l user1 \ 
10.10.10.10 -t 'echo password' | sudo -S  bash -c 'echo "30 10 * * * sh test.sh" >> /var/spool/cron/root'

请帮忙

用引号将您想要远程 运行 的整个命令括起来,转义嵌套引号 - 否则,管道将在本地解释。

/usr/bin/sshpass -p 'password' ssh -o StrictHostKeyChecking=no -l user1 10.10.10.10 \
-t "echo password | sudo -S bash -c 'echo \"30 10 * * * sh test.sh\" >> /var/spool/cron/root'"