Добавление 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'"
Другие вопросы по тегам