Я хочу запустить программу на многих удаленных хостах, эти программы могут работать несколько часов, и для этого нужны права суперпользователя. Я загрузил программу на эти удаленные хосты. Я могу только ssh на эти машины под своим именем пользователя, но с моим именем пользователя я могу sudo
без пароля
теперь я хочу написать скрипт автоматизации для запуска их на этих хостах
в основном мне нужно что-то вроде:
for remote_host in host_list:
run the program on remote_host
и затем скрипт завершается. Я старался
ssh -t usr@remote_host "sudo /home/usr/program"
но это будет блокировать мою оболочку, пока программа не закроется, поэтому я попытался
ssh -t usr@remote_host "sudo /home/usr/program" &
это не работает, я использую ps -ef
чтобы проверить и не найти процесс
Я также пробовал Python paramiko
, но не удалось https://stackoverflow.com/questions/16085502/run-remote-program-with-root-priviledge-using-paramiko-ssh-channel
Я также хочу записать все выходные данные от запуска программы
кто-нибудь может дать какие-то решения? Спасибо