У меня есть скрипт ниже (test.py
на 1.1.1.1
) для запуска другого удаленного скрипта на другом сервере (script.py
на 2.2.2.2
). Я настроил ssh-ключи, чтобы мне не запрашивали пароль.
import subprocess
USER="user"
SERVER_IP="2.2.2.2"
SCRIPT_PATH="/home/abc/script.py"
print ("ssh {0}@{1} '/usr/bin/python {2} aaa bbb'".format(USER, SERVER_IP, SCRIPT_PATH))
rc = subprocess.check_output("ssh {0}@{1} '/usr/bin/python {2} aaa bbb'".format(USER, SERVER_IP, SCRIPT_PATH))
script.py
сам по себе 1.2.3.4
и принимает 2 аргумента.
Если я скопирую команду, напечатанную в сценарии, я смогу успешно выполнить script.py
на 1.1.1.1
. Но выполнение test.py
на 1.1.1.1
выдает ошибку:
OSError: [Errno 2] No such file or directory
Я не понимаю, почему скрипт не работает, но та же самая команда работает сама по себе.