Добавление crontab с использованием ssh и sudo без полномочий root
У меня есть два сервера, скажем, сервер A и сервер B. У меня есть пользователь sudo, скажем user1 с полными привилегиями на сервере A и B. Я пытаюсь добавить запись crontab root с сервера A на сервер B с помощью следующей команды. Но он добавляется на A. Мне нужно добавить его на сервере B.
Найдите нижеприведенную команду, которую я запускаю на сервере A, которая должна войти на сервер B и добавить запись crontab в B. Вместо этого она добавляется только на 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 ответ
Решение
Заключите всю команду, которую вы хотите запустить удаленно, в кавычки, избегая вложенных кавычек, иначе трубопровод будет интерпретироваться локально.
/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'"