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

时间:2017-04-21 10:52:11

标签: bash ssh sshpass

我有两个服务器说服务器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'

请帮助

1 个答案:

答案 0 :(得分:0)

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

/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'"